Installation and Configuration¶
git-review can be installed from PyPI or system packages. To install from
pip install git-review
Alternatively, refer to the MediaWiki Guide for information on installing from system packages.
git-review requires git version 1.8 or greater.
cmd console has a number of issues with Python and
Unicode encodings which can manifest when reviews include non-ASCII
characters. Python 3.6 and beyond has addressed most issues and is
recommended for Windows users. For earlier Python versions,
modifying the local install with win-unicode-console may also help.
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
HEAD:refs/for/master at that remote.
If the Gerrit remote does not exist, git-review looks for a file
.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
The name of the Gerrit remote is configurable; see the configuration section below.
.gitreview file format¶
Example .gitreview file (used to upload for git-review itself):
[gerrit] host=review.opendev.org port=29418 project=opendev/git-review.git defaultbranch=master
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
You can specify different values to be used as defaults in
git-review will query git credential system for Gerrit user/password when authentication failed over http(s). Unlike git, git-review does not persist Gerrit user/password in git credential system for security purposes and git credential system configuration stays under user responsibility.
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
and one local to the repository, which is stored with the other git hook scripts. Normally that’s the
.git/hooks/directory in your checkout.
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.
If the script returns with an exit status different than zero, git-review will
exit with the custom shell exit code