Skip to main content

git-review

A git command for submitting branches to Gerrit

git-review is a tool that helps submitting git branches to gerrit for review.

Setup

By default, git-review will look for a remote named ‘gerrit’ for working with Gerrit. If the remote exists, git-review will submit the current branch to HEAD:refs/for/master at that remote.

If the Gerrit remote does not exist, git-review looks for a file called .gitreview at the root of the repository with information about the gerrit remote. Assuming that file is present, git-review should be able to automatically configure your repository the first time it is run.

The name of the Gerrit remote is configurable; see the configuration section below.

Usage

Hack on some code, then:

git review

If you want to submit that code to a branch other than “master”, then:

git review branchname

If you want to submit to a different remote:

git review -r my-remote

If you want to supply a review topic:

git review -t topic/awesome-feature

If you want to submit a branch for review and then remove the local branch:

git review -f

If you want to skip the automatic “git rebase -i” step:

git review -R

If you want to download change 781 from gerrit to review it:

git review -d 781

If you want to download patchset 4 for change 781 from gerrit to review it:

git review -d 781,4

If you want to compare patchset 4 with patchset 10 of change 781 from gerrit:

git review -m 781,4-10

If you just want to do the commit message and remote setup steps:

git review -s

.gitreview file format

Example .gitreview file (used to upload for git-review itself):

[gerrit]
host=review.openstack.org
port=29418
project=openstack-infra/git-review.git
defaultbranch=master

Required values: host, project

Optional values: port (default: 29418), defaultbranch (default: master), defaultremote (default: gerrit).

Notes

  • Username is not required because it is requested on first run

  • Unlike git config files, there cannot be any whitespace before the name of the variable.

  • Upon first run, git-review will create a remote for working with Gerrit, if it does not already exist. By default, the remote name is ‘gerrit’, but this can be overridden with the ‘defaultremote’ configuration option.

  • You can specify different values to be used as defaults in ~/.config/git-review/git-review.conf or /etc/git-review/git-review.conf.

Hooks

git-review has a custom hook mechanism to run a script before certain actions. This is done in the same spirit as the classic hooks in git.

There are two types of hooks, a global one which is stored in ~/.config/git-review/hooks/ and one local to the repository stored in .git/hooks/ with the other git hook scripts.

The script needs be executable before getting executed

The name of the script is $action-review where action can be :

  • pre - run at first before doing anything.

  • post - run at the end after the review was sent.

  • draft - run when in draft mode.

if the script returns with an exit status different than zero, git-review will exit with the a custom shell exit code 71.

Installation

Install with pip install git-review

For installation from source simply add git-review to your $PATH after installing the dependencies listed in requirements.txt

Running tests

Running tests for git-review means running a local copy of Gerrit to check that git-review interacts correctly with it. This requires the following :

  • a Java Runtime Environment on the machine to run tests on

  • Internet access to download the gerrit.war file, or a locally cached copy (it needs to be located in a .gerrit directory at the top level of the git-review project)

To run git-review integration tests the following commands may by run:

tox -e py27
tox -e py26
tox -e py32
tox -e py33

depending on what Python interpreter would you like to use.

Contributing

To get the latest code, see: https://git.openstack.org/cgit/openstack-infra/git-review

Bugs are handled at: https://launchpad.net/git-review

There is a mailing list at: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Code reviews, as you might expect, are handled by gerrit at: https://review.openstack.org

Use git review to submit patches (after creating a gerrit account that links to your launchpad account). Example:

# Do your commits
git review
# Enter your username if prompted

Metadata

Release files for git-review 1.24

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for git-review 1.24
File Size Uploaded
git-review-1.24.tar.gz 39.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for git-review 1.24
File Interpreter ABI Platform
git_review-1.24-py2-none-any.whl Python 2 none any Details

Total release size: 65.4 kB

Release files / git-review-1.24.tar.gz

Download URL git-review-1.24.tar.gz
Size 39.1 kB
Tags Source
SHA-256 checksum
How to use checksums
20fa8be4b86430b41153c270f770dd270bde06ff70c60c411aa9adc9db2f512a
BLAKE2b-256 checksum
How to use checksums
40c9c007572552b78cfe8836cd8a836d252d6b2c0e8dc53b3689b4e243d0a780
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / git_review-1.24-py2-none-any.whl

Download URL git_review-1.24-py2-none-any.whl
Size 26.3 kB
Tags Python 2
SHA-256 checksum
How to use checksums
8fa88ce99c50de1509e2b7944cb5272a91d3c354eacffc9aed9641af15b1d6d0
BLAKE2b-256 checksum
How to use checksums
ed328e4a14bb1325a90db78afa439cd2d9dde2b0f9e6c992f0c1f7b756017d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

2.5.0

2 release files

2.4.0

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.27.0

2 release files

1.26.0

2 release files

1.25.0

2 release files

This release

1.24 This release

2 release files

1.23

1 release file

1.22

1 release file

1.21

1 release file

1.20

2 release files

1.19

2 release files

1.18

1 release file

1.17

1 release file

1.16

3 release files

1.15

1 release file

1.14

1 release file

1.13

1 release file

1.12

1 release file

1.11

1 release file

1.9

1 release file

1.8

1 release file

1.7

1 release file

1.6

1 release file

1.5

1 release file

1.4

1 release file

1.3

2 release files

1.2

3 release files

1.1

3 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page