| #summary Gerrit and Melange |
| #labels Featured,Importance-Featured |
| |
| = Introduction = |
| |
| Melange uses Gerrit for code review. |
| |
| = Setup = |
| |
| {{{ |
| # setup push-for-review helper alias |
| git config --global alias.push-for-review '!CURRENT=$(git symbolic-ref --short HEAD) && git push origin ${1:-HEAD}:refs/for/master%topic=${CURRENT}${R:+,r=${R}} && echo pushed' |
| # add change-id hook |
| curl -Lo `git rev-parse --git-dir`/hooks/commit-msg https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x `git rev-parse --git-dir`/hooks/commit-msg |
| }}} |
| |
| * Log into the Gerrit UI at least once: https://melange-review.googlesource.com |
| * if the email address in your git commits doesn't line up with the account you log into Gerrit with, you must add that email address: https://melange-review.googlesource.com/#/settings/contact |
| * If you are a committer, you need to get added to the committer list in Gerrit. |
| |
| = Code Review = |
| |
| == Reviewing your branch == |
| # Create a topic branch, work on your change, commit your change. |
| # git push-for-review |
| # in the Gerrit web UI, explicitly add at least one reviewer |
| # review happens. |
| # if changes are necessary, commit, rebase, go back to step 2. |
| |
| == Syncing and preparing your branch == |
| # pull the latest changes to master |
| * git checkout master |
| * git pull origin master |
| # rebase your branch on master git rebase master and fix possible conflicts on the way |
| * git checkout your-branch |
| * git rebase master |
| # git push-for-review |
| # if the rebase cleared the review approvals, ask the reviewers for another look. Otherwise, the changes are almost ready to be submitted |
| # locally merge your branch into master |
| * git checkout master |
| * git merge your-branch |
| |
| = git push-for-review = |
| |
| The push-for-review alias supports some variations: |
| |
| if you set an 'R' environment variable, that becomes a reviewer. |
| |
| {{{ |
| R=john.smith@gmail.com git push-for-review |
| }}} |
| |
| You can also specify a change to push: |
| {{{ |
| git push-for-review a1b2c3 |
| }}} |
| |
| == Submitting the code == |
| |
| # get code reviewed by someone else, and receive a +2 |
| # click submit button in web ui |
| |
| == Personal Branches == |
| |
| Please name personal branches user/$USERNAME/$BRANCHNAME |
| |
| = Interesting Links = |
| |
| * https://wiki.openstack.org/wiki/Gerrit_Workflow |