ITK/Gerrit: Difference between revisions
Daviddoria (talk | contribs) |
Daviddoria (talk | contribs) (→Making Changes in Uploaded Patches: Describe --amend workflow) |
||
Line 53: | Line 53: | ||
Each of the commits listed by git log will then show up as a commit, optionally labeled with topic-name, in the Gerrit web interface. These commits can then be reviewed and integrated. | Each of the commits listed by git log will then show up as a commit, optionally labeled with topic-name, in the Gerrit web interface. These commits can then be reviewed and integrated. | ||
== Making Changes in Uploaded Patches == | == Making Changes in Uploaded Patches (Hard way) == | ||
If your change requires revision before it is accepted, you will first need to correct the commit in the topic branch. The change-id should have been automatically added to your commits, or you can manually add it after the fact if necessary. | If your change requires revision before it is accepted, you will first need to correct the commit in the topic branch. The change-id should have been automatically added to your commits, or you can manually add it after the fact if necessary. | ||
Line 66: | Line 66: | ||
git push gerrit HEAD:refs/for/master/topic-name | git push gerrit HEAD:refs/for/master/topic-name | ||
This updated patch will be shown in the interface as patch set 2, any subsequent commits in the topic should also be updated with their new parents being the updated commits. | |||
== Making Changes in Uploaded Patches (Easy way) == | |||
If your change requires revision before it is accepted, you will first need to correct the commit in the topic branch. To do this: | |||
git add | |||
any files that have changed. | |||
Then | |||
git commit --amend | |||
An editor will open. You can edit the commit message if necessary. Then | |||
git gerrit push | |||
This updated patch will be shown in the interface as patch set 2, any subsequent commits in the topic should also be updated with their new parents being the updated commits. | This updated patch will be shown in the interface as patch set 2, any subsequent commits in the topic should also be updated with their new parents being the updated commits. |
Revision as of 13:26, 21 April 2011
Code Review System
Overview
- Gerrit is a system for code reviews
- http://code.google.com/p/gerrit/
- It has a built-in Git implementation
Installation
The ITK Gerrit system is available at
In order to register you need to get an OpenID
Workflow
Workflow Example, from Android
Integration with Git
Add Gerrit as one of your remotes
You will want to add Gerrit as a remote, using the username you selected in the Gerrit web interface,
git remote add gerrit USERNAME@review.source.kitware.com:ITK
Gerrit allows you to select a username, and to upload your public SSH key(s).
How to push to Gerrit
When on your topic branch, to view the commits that will be pushed as changes,
git fetch gerrit git log gerrit/master..
Then, when you have a topic branch ready to go,
git push gerrit HEAD:refs/for/master/topic-name
(Note: this could be simply
git gerrit-push
if you have run SetupForDevelopment.sh)
Each of the commits listed by git log will then show up as a commit, optionally labeled with topic-name, in the Gerrit web interface. These commits can then be reviewed and integrated.
Making Changes in Uploaded Patches (Hard way)
If your change requires revision before it is accepted, you will first need to correct the commit in the topic branch. The change-id should have been automatically added to your commits, or you can manually add it after the fact if necessary.
git rebase -i HEAD~2
An editor will open, see here for details on interactive rebasing. Once you have edited the relevant commit(s) you should be ready to upload the updated patches, assuming your commit messages all have the last line,
Change-Id:[change id from Gerrit here]
You can then push the corrected commit(s) to Gerrit,,
git push gerrit HEAD:refs/for/master/topic-name
This updated patch will be shown in the interface as patch set 2, any subsequent commits in the topic should also be updated with their new parents being the updated commits.
Making Changes in Uploaded Patches (Easy way)
If your change requires revision before it is accepted, you will first need to correct the commit in the topic branch. To do this:
git add
any files that have changed.
Then
git commit --amend
An editor will open. You can edit the commit message if necessary. Then
git gerrit push
This updated patch will be shown in the interface as patch set 2, any subsequent commits in the topic should also be updated with their new parents being the updated commits.