Gerrit Staging Commands

From Qt Wiki
Jump to navigation Jump to search

Gerrit provides a command line interface to handle staging related activities. These commands provide a mechanism for viewing and managing the status of gerrit branches. This can be as simple as listing the currently staged items associated with a project/branch, the creation of a new build for a project/branch and the status setting of staged items that have passed or failed some integration step.

The version of gerrit that is running on codereview.qt.io has been modified from the original code base. These changes are available here

Staging List

This lists all the commits that have been applied to the staging branch.

gerrit staging-ls -p <gerrit project> -b <source branch> -d <destination>

Example:

gerrit staging-ls -p qt/qtsvg -b refs/staging/5.15 -d 5.15

Staging Pass

This is the integration approval command that merges all staged and currently integrating commits into the master branch and changes the gerrit status to merged.

gerrit staging-approve -p <gerrit project> -i <gerrit build> -b <source branch> -r pass -m <message>

Staging Fail

This is the integration fail command that cancels currently integrating commits and changes gerrit status back to 'review in progress'.

gerrit staging-approve -p <gerrit project> -i <gerrit build> -b <source branch> -r fail -m <message>

Staging New Build

This creates a new build and places all the currently staged commits into a unique build branch and changes the gerrit status to INTEGRATING.

gerrit staging-new-build -p <gerrit project> -s <source branch> -i <gerrit build id>

SSH Access

Access to these commands are typically handled via an SSH connection to the gerrit server on qt.io. This through port 29418 to codereview.qt.io with the following syntax

ssh -p 29418 codereview.qt.io gerrit <gerrit command/options>

Gerrit Help

To obtain a printout of help from gerrit there is a help option that can be passed to the server.

ssh -p 29418 codereview.qt.io gerrit help

More information

In case of any problems, have a look at Gerrit Caveats and Hints.