Release Notes

In Development

New Features

  • A new gitreview.branchauthor option allows configuring the change author (owner) name part of the autocreated branch name when downloading changes.

  • A new gitreview.notopic configuration setting makes git-review always behave as if the --notopic command line option was supplied.

  • Added the --notify option, which can be used to ensure specified receivers receives email notifications

Deprecation Notes

  • Not really a deprecation so much as a removal, Gerrit 2.15 (released in 2017) ceased providing a draft state for changes, and many large sites were disabling support for it far earlier than that. As of now, git-review has removed the -D and --draft options entirely, and so can no longer push draft changes on old Gerrit deployments which still allowed them.

Critical Issues

  • As of this release, git-review no longer supports running under the Python 2.7 interpreter. The major version component has been increased accordingly. Users wishing to use git-review with Python 2.7 can cap their installations like pip install "git-review<2", though pip version 9 and later will use python_requires package metadata to avoid installing git-review on an unsupported interpreter. Future removal of support for Python 3 minor versions will only result in a minor version increase for corresponding git-review releases.

Bug Fixes

  • The Change-Id generating commit hook is now installed into any detected Git submodules, so that it will take effect when creating changes within a submodule and not just in the parent repository.

  • Encoding was corrected for Git credentials, which was previously causing HTTP authentication to fail under some Python 3 versions.

  • Change download functions now preserve any unapplied local edits on the branch when attempting to reset the worktree.

  • The --no-follow-tags option to git push is now used for all pushes, so that git-review won’t error when encountering a local tag which is absent from Gerrit.

1.28.0

Upgrade Notes

  • Support for auto-configuration of topic names based on the presence of keywords in the commit message is removed. Previously, keywords such as bug, bp or lp followed by a number would result in branch names containing the associated number, e.g. bug/123. This feature was OpenStack specific, was a frequent source of bugs and clearly wasn’t being used that often, given that StoryBoard is a thing now and no one had updated this feature to handle that metadata.

Bug Fixes

  • Fixes gitreview process exit code to align with general UNIX process exit code conventions. Specifically, default exit code changed to 1 which stands for “general error”.

  • Fixed usepushurl to work when a read-only mirror being used as origin does not contain refs/changes from gerrit.

  • If a patch has no topic, downloading it will result in a topic of review/{owner}/{ID}. Previously, submitting this would then set the topic to {ID}. This was incorrect behavior and is now resolved.

1.27.0

New Features

  • Patch download now supports change urls. Rather than forcing users to copy only part of a URL to a review, users may now paste the whole change URL.

Upgrade Notes

  • The -c and --compatible command line options have been removed. They had been there so someone could request compatibility with older Gerrits, but the need for this has gone away.

Bug Fixes

  • Fix git review -d M,N for newer gerrit. The “number” field returned via gerrit JSON can be a string (2.13) or a integer (~2.14).

  • Update default gerrit namespace for newer gerrit. According to Gerrit documentation for 2.15.3, refs/for/’branch’ should be used when pushing changes to Gerrit instead of refs/publish/’branch’.