blob: d2e1458672b4a024e9c9f5e584d2d37b805eae26 [file] [log] [blame]
#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