11 stable releases (3 major)

5.0.1 Sep 24, 2024
5.0.0 Aug 10, 2024
4.0.0 Jul 27, 2024
3.1.1 Apr 1, 2021
2.2.1 Jun 30, 2020

#192 in Command line utilities

GPL-3.0-or-later

28KB
473 lines

grr

crates.io pipeline status coverage report

grr is a simple utility to make using Gerrit a little less painful.

The basic workflow involves using a detached head, pulling down changes from gerrit to work on them, and re-submitting them. Inspired by git-review, grr reads from .gitreview files as needed.

Installation: cargo install gerrit-grr

A docker image is also available: registry.gitlab.com/legoktm/rust-grr

Linux binaries can be downloaded from GitLab.

Usage

  • grr [branch]: Shorthand for grr review
  • grr review [branch]: Submits a patch for review against the specified branch (defaults to master)
  • grr fetch 12345[:2]: Pulls change 12345. An optional patchset # can be specified, otherwise the latest will be used.
  • grr cherry-pick 12345[:2]: Just like fetch, except it cherry-picks the patch on top of HEAD
  • grr pull [branch]: Pulls the latest remote changes and checks it out (defaults to master)
  • grr checkout [branch]: Checkout the given branch (defaults to master)
  • grr rebase [branch]: Rebase on top of the given branch (defaults to master)
  • grr init: Installs commit-msg hook

Default branch

The current default branch is master, it may switch to main in the future. You can change the default branch on a per-repository basis or systemwide by setting the grr.defaultBranch git config option.

# For a single repository
git config grr.defaultBranch main

# For all repositories, unless overridden in that repository
git config --global grr.defaultBranch main

History

grr was originally written in 2014 in Python. It was ported to Rust in 2020.

License

grr is (C) 2020-2021 Kunal Mehta, released under the GPLv3 or any later version, see COPYING for details.

Dependencies

~5.5–7MB
~125K SLoC