167 lines
6.5 KiB
ReStructuredText
167 lines
6.5 KiB
ReStructuredText
=========
|
|
git-nit
|
|
=========
|
|
|
|
A git command for fixing nit-picky changes on gerrit reviews.
|
|
|
|
git-nit is a tool that helps grabbing existing reviews on gerrit and
|
|
layering on a new patch to fix nits.
|
|
|
|
Normally review comments are left on the patch in the web UI or via
|
|
gertty. For really small suggestions, however, it is nicer to just
|
|
propose the update either as a new revision of a patch or as a
|
|
follow-up patch. git-nit helps you do that by making it easier to grab
|
|
the patch being reviewed in a local copy of the repository. It
|
|
automates the steps of cloning the repository to a new directory,
|
|
configuring git-review, then downloading the patch in
|
|
question. Running one command will set you up to help the person whose
|
|
code you are reviewing.
|
|
|
|
Installing
|
|
==========
|
|
|
|
Install git-nit with pip::
|
|
|
|
$ pip install --user git-nit
|
|
|
|
Using
|
|
=====
|
|
|
|
To clone a patch to a local working directory, pass the URL of the
|
|
patch as the first argument.
|
|
|
|
::
|
|
|
|
$ git nit https://review.openstack.org/#/c/564559/
|
|
release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
Cloning openstack-infra/release-tools into ./release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
git clone git://git.openstack.org/openstack-infra/release-tools release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
Cloning into 'release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it'...
|
|
remote: Counting objects: 2320, done.
|
|
remote: Compressing objects: 100% (995/995), done.
|
|
remote: Total 2320 (delta 1491), reused 2109 (delta 1312)
|
|
Receiving objects: 100% (2320/2320), 2.72 MiB | 1.50 MiB/s, done.
|
|
Resolving deltas: 100% (1491/1491), done.
|
|
Checking connectivity... done.
|
|
|
|
Configuring git-review
|
|
git review -s
|
|
Creating a git remote called 'gerrit' that maps to:
|
|
ssh://doug-hellmann@review.openstack.org:29418/openstack-infra/release-tools.git
|
|
|
|
Downloading https://review.openstack.org/#/c/564559/
|
|
git review -d 564559
|
|
Downloading refs/changes/59/564559/2 from gerrit
|
|
Switched to branch "review/doug_hellmann/announce-script-fixes"
|
|
|
|
Updating all remotes
|
|
git remote update
|
|
Fetching origin
|
|
remote: Counting objects: 1501, done.
|
|
remote: Compressing objects: 100% (659/659), done.
|
|
remote: Total 1501 (delta 842), reused 1501 (delta 842)
|
|
Receiving objects: 100% (1501/1501), 218.28 KiB | 0 bytes/s, done.
|
|
Resolving deltas: 100% (842/842), done.
|
|
From git://git.openstack.org/openstack-infra/release-tools
|
|
* [new ref] refs/notes/review -> refs/notes/review
|
|
Fetching gerrit
|
|
|
|
Patch ready in ./release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
|
|
The URL argument can use the /#/c "fragment" form or it can use the
|
|
simplified form ``https://review.openstack.org/564559/``.
|
|
|
|
It can also include a patchset number if the goal is to download a
|
|
draft older than the most recent patchset.
|
|
|
|
::
|
|
|
|
$ git nit https://review.openstack.org/#/c/564559/1/
|
|
release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
Cloning openstack-infra/release-tools into ./release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
git clone git://git.openstack.org/openstack-infra/release-tools release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
Cloning into 'release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it'...
|
|
remote: Counting objects: 2320, done.
|
|
remote: Compressing objects: 100% (991/991), done.
|
|
remote: Total 2320 (delta 1494), reused 2111 (delta 1316)
|
|
Receiving objects: 100% (2320/2320), 2.72 MiB | 2.23 MiB/s, done.
|
|
Resolving deltas: 100% (1494/1494), done.
|
|
Checking connectivity... done.
|
|
|
|
Configuring git-review
|
|
git review -s
|
|
Creating a git remote called 'gerrit' that maps to:
|
|
ssh://doug-hellmann@review.openstack.org:29418/openstack-infra/release-tools.git
|
|
|
|
Downloading https://review.openstack.org/#/c/564559/1/
|
|
git review -d 564559,1
|
|
Downloading refs/changes/59/564559/1 from gerrit
|
|
Switched to branch "review/doug_hellmann/announce-script-fixes-patch1"
|
|
|
|
Updating all remotes
|
|
git remote update
|
|
Fetching origin
|
|
remote: Counting objects: 1501, done.
|
|
remote: Compressing objects: 100% (659/659), done.
|
|
remote: Total 1501 (delta 842), reused 1501 (delta 842)
|
|
Receiving objects: 100% (1501/1501), 218.18 KiB | 0 bytes/s, done.
|
|
Resolving deltas: 100% (842/842), done.
|
|
From git://git.openstack.org/openstack-infra/release-tools
|
|
* [new ref] refs/notes/review -> refs/notes/review
|
|
Fetching gerrit
|
|
|
|
Patch ready in ./release-tools-564559-finish-moving-announce.sh-to-releases-repo-by-deleting-it
|
|
|
|
Use the ``--short-name`` (or ``-s``) option to change the default behavior and
|
|
name the output directory after the repository without including the
|
|
patchset number and subject.
|
|
|
|
::
|
|
|
|
$ git nit -s https://review.openstack.org/#/c/564559/1/
|
|
Cloning openstack-infra/release-tools into release-tools
|
|
git clone git://git.openstack.org/openstack-infra/release-tools release-tools
|
|
Cloning into 'release-tools'...
|
|
remote: Counting objects: 2320, done.
|
|
remote: Compressing objects: 100% (989/989), done.
|
|
remote: Total 2320 (delta 1493), reused 2115 (delta 1318)
|
|
Receiving objects: 100% (2320/2320), 2.73 MiB | 2.24 MiB/s, done.
|
|
Resolving deltas: 100% (1493/1493), done.
|
|
Checking connectivity... done.
|
|
|
|
Configuring git-review
|
|
git review -s
|
|
Creating a git remote called 'gerrit' that maps to:
|
|
ssh://doug-hellmann@review.openstack.org:29418/openstack-infra/release-tools.git
|
|
|
|
Downloading https://review.openstack.org/#/c/564559/1/
|
|
git review -d 564559,1
|
|
Downloading refs/changes/59/564559/1 from gerrit
|
|
Switched to branch "review/doug_hellmann/announce-script-fixes-patch1"
|
|
|
|
Updating all remotes
|
|
git remote update
|
|
Fetching origin
|
|
remote: Counting objects: 1501, done.
|
|
remote: Compressing objects: 100% (659/659), done.
|
|
remote: Total 1501 (delta 842), reused 1501 (delta 842)
|
|
Receiving objects: 100% (1501/1501), 218.28 KiB | 0 bytes/s, done.
|
|
Resolving deltas: 100% (842/842), done.
|
|
From git://git.openstack.org/openstack-infra/release-tools
|
|
* [new ref] refs/notes/review -> refs/notes/review
|
|
Fetching gerrit
|
|
|
|
Patch ready in release-tools
|
|
|
|
After the patch has been downloaded, move into the new directory and
|
|
make the relevant changes, then use ``git review`` to post the new
|
|
patchset. You can update the existing patch with ``git commit
|
|
--amend`` or create a new one as a series.
|
|
|
|
Resources
|
|
=========
|
|
|
|
* Free software: Apache license
|
|
* Source: https://github.com/dhellmann/git-nit
|
|
* Bugs: https://github.com/dhellmann/git-nit/issues
|