Project

General

Profile

Gerrit » History » Version 7

« Previous - Version 7/110 (diff) - Next » - Current version
neels, 05/12/2016 10:17 AM


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.

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

Configuring Gerrit/Account

You will need to sign-up at https://gerrit.osmocom.org/login/. If you have an Osmocom Redmine account you can use https://osmocom.org/openid 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

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
USERNAME=gerrit_user_name
PROJECT=$(basename $PWD)
git remote add gerrit ssh://$USERNAME@gerrit.osmocom.org:29418/$PROJECT.git
scp -P 29418 $USERNAME@gerrit.osmocom.org:hooks/commit-msg .git/hooks/
  • In case your local username matches the gerrit username, the setup shortens to
PROJECT=$(basename $PWD)
git remote add gerrit ssh://gerrit.osmocom.org:29418/$PROJECT.git
scp -P 29418 gerrit.osmocom.org:hooks/commit-msg .git/hooks/

Then

  • Push for review
    git push gerrit HEAD:refs/for/master
    
  • Push a user branch
    git push gerrit HEAD:refs/heads/users/$USERNAME/topic
    
  • Directly push to master if you are allowed to
    git push gerrit HEAD:refs/heads/master
    
  • List changesets in gerrit
    git ls-remote gerrit changes/*
    
Add picture from clipboard (Maximum size: 48.8 MB)