commit | 9a2a019d5919a7d4786b3dd3603abcf6b66379ab | [log] [tgz] |
---|---|---|
author | Dmitry Vyukov <dvyukov@google.com> | Tue Aug 13 13:28:49 2019 +0200 |
committer | Dmitry Vyukov <dvyukov@google.com> | Tue Aug 13 13:28:49 2019 +0200 |
tree | 1c138cbc8fa9ad6cd315c0fb8b824b399753b718 | |
parent | 4e3ba2dcbaddd32104b91690b2bde6a626bf3f51 [diff] |
RADME: add Use Cases section Signed-off-by: Dmitry Vyukov <dvyukov@google.com> Change-Id: Iab619321d18776e186356c0d8d4a99b5e8728333
Gerrit
is a modern code review system that supports:
and more. Refer to the User Guide and Gerrit Docs for more info, but the information below should be enough to get you started.
The instance consists of a set of mirrors of kernel git repositories, which you can see and browse at linux.googlesource.com. Review changes can be created only for the mirrored repos. Currently two dozens of the most active repos are mirrored, but this list can be easily extended if there is interest.
The second part is the review system at linux-review.googlesource.com. All uploaded changes are public and visible to everyone, however creating own changes and participating in reviews requires a Google account. To sign in into the review system, click Sign in link in the top-right corner. Once you signed in you can see your outgoing, incoming and CCed changes at the dashboard.
There are several potential use cases:
Feel free to use it if you find it useful.
Note: when you upload a new change nobody is notified. You can add reviewers/CC manually and/or give the change link to other people.
To create a change for the net tree you need to:
git clone https://linux.googlesource.com/linux/kernel/git/davem/net
or add a new remote with:
git remote add -f gerrit-net https://linux.googlesource.com/linux/kernel/git/davem/net
Sign in into the gerrit instance using Sign in link in the top-right corner.
Click Generate Password link in the top menu. Copy-paste and execute the script which adds an auth cookie required for pushing changes for review.
Add gerrit commit hook to the git repo with:
(f=`git rev-parse --git-dir`/hooks/commit-msg; \ mkdir -p $(dirname $f); \ curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg; \ chmod +x $f)
The hook simply adds Change-Id: unique-id
to commit messages, gerrit uses it to understand uploads of new versions of the same change.
git checkout gerrit-net/master git checkout -b my-test-gerrit-change sed -i "s#mm_init(#mem_init(#g" init/main.c git commit -s --all -m "init: test change"
git push gerrit-net HEAD:refs/for/master
Pushing to the special path refs/for/target-branch
creates a change based on the target-branch
. The command output will contain the URL of the change, e.g.:
https://linux-review.googlesource.com/c/linux/kernel/git/davem/net/+/1109
you should also see it on the dashboard.
sed -i "s#mem_init(#mem_initialize(#g" init/main.c git commit --amend --all --no-edit git push gerrit-net HEAD:refs/for/master
Gerrit knows it's a new version based on the Change-Id
tag. Now you can see the new version at:
https://linux-review.googlesource.com/c/linux/kernel/git/davem/net/+/1109/2
as well as the diff between versions:
https://linux-review.googlesource.com/c/linux/kernel/git/davem/net/+/1109/1..2
To create patch series simply push a branch with multiple commits.