Gerrit

SmartGit provides integration with Gerrit in the Log and the Working Tree windows. You can invoke the Push to Gerrit command in the Branches view if a Gerrit remote has been detected. It will offer a dialog with special Gerrit-related Push options.

Prerequisites are that .git/hooks/commit-msg exists and is related to Gerrit.

.gitreview

If a .gitreview file is present in the root directory of your repository, SmartGit will detect the Gerrit server from its properties, according to the git-review documentation. Given this configuration, a matching remote will be looked up from your .git/config.

The defaultbranch will be used as Target branch if configured.

If there is a review.remote configuration present in your .git/config, this will take precedence.

General remote detection

If there is no .gitreview file present, SmartGit will detect a remote as being connected to Gerrit if an appropriate remote can be determined from .gitconfig for the selected branch:

  • If the remote is configured as review.remote, this remote will be used.
  • If the branch is tracking a remote branch and its remote is connecting to port 29418 (default Gerrit SSH port), this remote will be used.
  • If the branch is not tracking a remote branch:
    • If there is a unique remote connecting to port 29418, this remote is used.
    • If there is no remote connecting to port 29418 but there is only a single remote overall, this remote is used.

Tip

To have Gerrit-related commands available in context menu, set Low-level Property ui.showPushToGerritInMenu.

Info

If Push to Gerrit doesn’t show up for you despite of the above conditions being met, you may enable debug logging for “smartgit.gerrit”. For details refer to Debugging.