Git-gerrit is a Git extension to manage changes using Gerrit Code Review.
Git-gerrit offers a rich set of sub-commands to make it easy to create, query, amend, review, and submit changes to Gerrit, making it possible to interact with it through the command-line, avoiding its web interface most of the time and improving your efficiency. The goal is to make Gerrit's review process feel like a natural extension of Git.
Git-gerrit was originally inspired by the git-review script, which is used by some very well-known projects, such as OpenStack, MediaWiki, and LibreOffice. It also draws from other scripts such as git-change and querrit. However, while those scripts are based on Gerrit's old SSH API, git-gerrit is based on Gerrit's new REST API, taking advantage of its richer functionality.
For the complete documentation, installation, and configuration instructions, please, read the git-gerrit script documentation.
An incomplete list of things to do in random order:
Test, test, test, ...
Allow for the checkout of a specific patchset of a change.
implement 'git gerrit diff'
To show diffs between patchsets. A la git-review -m.
implement the '--dry-run' option
To avoid running non-query commands.
implement 'git gerrit log'
implement extensibility by plugins
An example of a useful plugin would be to integrate change management with JIRA or other ticketing systems. Something like this.
Another one would be to invite reviewers based on the history of the files/lines touched by the change.
support named-queries via git-gerrit.query configuration.
This idea comes from querrit shortcuts.
implement 'git gerrit checkout topic'
To checkout one or more changes associated with a Gerrit topic.
'git gerrit review --verbose'
This should work like 'git commit --verbose' so that the diff should be inserted in the temporary file created to invoke Git's editor. This way the user would be able to better study the change while he's composing a review message.
implement inline comments
With 'git gerrit review --verbose' it should be possible to allow the user to insert comments below the diff lines. These comments would be recorded as draft comments associated with files or lines.
This would be really cool.
implement 'git gerrit prune'
To remove stale change-branches, a la git-repo.
show change comments in 'git gerrit show --verbose'
show current change-set id in 'git gerrit show'
reformat dates on 'git gerrit query'
Perhaps, showing them as deltas since last change, a la what Gerrit does on its web interface.
Allow a list of changes as arguments for most commands
Provide global options to overide remote
Copyright (c) 2013 by CPqD.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.