How to use Gerrit for Commerce Kickstart Patches

Last updated on
30 April 2025

Gerrit is a code-review extension for git. Essentially, it makes it possible to automatically generate a brand new instance of kickstart for every patch. To learn more about Gerrit, check out the documentation page.

Development Workflow

After opening an issue in the issue queue, instead of attaching a patch, a contributor pushes a change (i.e. commit) to Gerrit.
There, each change can be reviewed by the Commerce Kickstart team and the community.
During the review process, each change automatically generates an installable build, allowing anyone to test the proposed change live. This feature has been a huge timesaver, and one of the main reasons for using Gerrit.
When the change has been approved and merged by one of the maintainers, it appears in the Commerce Kickstart git repository on drupal.org.

Anyone can push a commit or review existing commits in the Kickstart Gerrit, so jump in!

Preliminary Checklist

1) Make sure you have a public SSH Key.

A public SSH key (required for Drupal.org Module maintainers and for Commerce Kickstart patches) is a way of authenticating that is much more secure than a simple password. Setting one up can be somewhat tricky, but there is a great Drupal.org Documentation Section and an easy-to-follow GitHub tutorial on generating one of these.

2) Be prepared to supply an OpenID Account, Google Account, or Yahoo ID account to register for the Gerrit system.

Steps to Submitting a patch to the Kickstart Issue Queue, using Gerrit

1) Register at http://code.drupalcommerce.org/

The registration requires that you connect it with a different service, which can be confusing, but it doesn't have to be. In the upper right of the screen that we linked to above is a "Register | Sign In" and it is designed to accept any OpenID authentication. This includes Google/Gmail/Yahoo accounts.

It will take you to a screen confirming that code.drupalcommerce.org can use your authentication for verification of your identity. This is very similar to the oAuth process that you are likely familiar with using to login with Facebook or using your Twitter account.

After you have verified your credentials, you'll be taken back to the registration page where you can pick a username and register a public SSH key. If you went through the above preliminary checklist, you should have this in hand.

2) Test your account access

If all has gone well, you should be able to go here:

https://code.drupalcommerce.org/gitweb?p=commerce_kickstart.git;a=summary

You should see something like this:

https://code.drupalcommerce.org/p/commerce_kickstart.git
ssh://joshmiller@code.commerceguys.com:29419/commerce_kickstart.git

You also want to visit your account SSH page and confirm you have a saved SSH key.

3) Clone that repository using your git magic skills, create a commit, and push back to the code.drupalcommerce.org

# Clone the repo
git clone ssh://your_username@code.drupalcommerce.org:29419/commerce_kickstart.git --branch 7.x-2.x

# Go into the newly created directory
cd commerce_kickstart

# Install the gerrit hook
curl --insecure https://code.drupalcommerce.org/tools/hooks/commit-msg > .git/hooks/commit-msg
# Make it executable
chmod a+x .git/hooks/commit-msg

# Create a branch and do your work
git checkout -b 1659160-notice-on-checkout

# Commit you change or fix
git commit -a -m "Issue #1659160 by your_username: Fixed notice on checkout."

# Push it to Gerrit
git push origin 1659160-notice-on-checkout:refs/for/7.x-2.x

After the push is complete, you should see text like this:

remote: Resolving deltas: 100% (2/2)
remote: Processing changes: new: 1, done    
remote: 
remote: New Changes:
remote:   https://code.drupalcommerce.org/31 
remote: 
To ssh://your_username@code.drupalcommerce.org:29419/commerce_kickstart.git
 * [new branch]      1659160-notice-on-checkout -> refs/for/7.x-2.x

Help improve this page

Page status: Not set

You can: