Gerrit » History » Revision 7

Revision 6 (neels, 05/12/2016 01:58 AM) → Revision 7/130 (neels, 05/12/2016 10:17 AM)

h1. Contributing using Gerrit 

 Gerrit is a review tool that integrates nicely with git and ssh. Instead of manually uploading a change, one can push it for review. One can use ssh to trigger review and actions. 

 h2. Subprojects using Gerrit 

 The following projects use Gerrit to contribute changes: 

 * libosmocore.git 
 * libosmo-abis.git 
 * libosmo-netif.git 
 * libosmo-sccp.git 
 * libsmpp34.git 
 * openbsc.git 
 * osmo-bts.git 
 * osmo-iuh.git 
 * osmo-pcu.git 
 * cellmgr-ng.git 
 * osmo-sip-connector.git 
 h2. Configuring Gerrit/Account 

 You will need to sign-up at If you have an Osmocom Redmine account you can use as OpenID provider. After the initial sign-up you will need to: 

 * Pick a username (can not be changed) 
 * Add your public ssh key(s) 
 * Add email addresses you intend to use as author/comitter 

 h2. Setting up Gerrit for commits and pushing 

 * Add the remote to be able to fetch and push to gerrit 
 * Fetch the commit hook that adds Change-Id to each commit to uniquely identify a commit 

 PROJECT=$(basename $PWD) 
 git remote add gerrit ssh://$$PROJECT.git ssh:// 
 scp -P 29418 $ .git/hooks/ 

 * In case your local username matches the gerrit username, the setup shortens to 

 PROJECT=$(basename $PWD) 
 git remote add push gerrit ssh://$PROJECT.git 
 scp -P 29418 .git/hooks/ 


 * Push HEAD:refs/for/master (push for review review) 
 git push gerrit HEAD:refs/for/master 

 * Push HEAD:refs/heads/user/topic (push a user branch branch) 
 git push gerrit HEAD:refs/heads/users/$USERNAME/topic 

 * Directly HEAD:refs/heads/master (directly push to master if you are allowed to to) 
 git push gerrit HEAD:refs/heads/master 

 * List changesets in gerrit 
 git ls-remote gerrit changes/* (to list all changesets and patches) 
Add picture from clipboard (Maximum size: 48.8 MB)