Initial Gerrit setup for GWT Open Source Project

338 views
Skip to first unread message

Matthew Dempsky

unread,
Oct 17, 2012, 2:56:02 PM10/17/12
to google-web-tool...@googlegroups.com
Hello GWT Contributors!

I wanted to let you know that we've configured a Git and Gerrit server for the GWT Open Source Project at https://gwt.googlesource.com and https://gwt-review.googlesource.com, respectively.  It’s pre-populated with a mirror of the Google Code Subversion repository using git-svn, and we'll be keeping them in sync going forward.

Consider this a "beta" release still, but it should currently be possible for registered users to checkout the code and to post comments and vote.  Additionally, users that sign the CLA should be able to upload changes of their own.  We've also created an invite-only list gwt-mai...@googlegroups.com whose members will have additional permissions for approving and submitting changes.  Ray Cromwell is currently administering this list, so I'll leave it to him to take care of adding people as appropriate.

At the moment, the Git repo is effectively just an external mirror like the current Subversion repo.  The intent here is to allow the community to start trying out Gerrit instead of Rietveld for reviews, while we [Google] work out the remaining details to switch from our current push-mirroring model to a pull-mirroring model.  We intend to also now start accepting patches uploaded to Gerrit (though still through manual import into our internal repository).

Please test it out and give us any feedback you have.

Thanks,
Matthew


Gerrit Crash Course

In case you’re not familiar with Gerrit already, here are a few beginner steps to get started with:

Going to https://gwt.googlesource.com/ or https://gwt-review.googlesource.com/ you should be able to see the “gwt” project.  You should also be able to anonymously check this out by simply running “git clone https://gwt.googlesource.com/gwt”.

Further, you should be able to go to https://gwt-review.googlesource.com/ and sign in using your Google Account.  Once signed in you should be able to comment and code review existing issues like the sample issue I created at https://gwt-review.googlesource.com/#/c/1020/.

Finally, to actually create an issue is slightly more involved, but most of the steps only need to be done once:

  1. Complete a Contributor Agreement: go to https://gwt-review.googlesource.com, click “Settings” and then “Agreements”, and follow the instructions.  If you previously submitted an individual CLA electronically via Google Code, please do so again via Gerrit (sorry!).  If you previously submitted a corporate CLA and Gerrit does not reflect this already, please email me privately and I’ll check with Google’s Open Source Program Office to get this resolved.
  2. Setup your HTTP Password: Still under Settings, go to “HTTP Password” and click “Obtain Password” and follow the steps to get your HTTP Password and/or to setup your .netrc file.
  3. Setup your Gerrit commit-msg hook (optional, but recommended): Gerrit provides a commit hook at https://gwt-review.googlesource.com/tools/hooks/commit-msg to automatically add Change-Id lines to your commits.  Download this and add it to your checkout’s .git/hooks directory (e.g., “curl -o .git/hooks/commit-msg https://gwt-review.googlesource.com/tools/hooks/commit-msg && chmod +x .git/hooks/commit-msg”).
  4. Make a change and commit it locally using git (e.g., edit a file foo and then run “git commit -m ‘my first change’ foo”).
  5. Push the commit to Gerrit for review: git push origin HEAD:refs/for/master.

Further details can be found in the Git and Gerrit documentations:
http://git-scm.com/documentation
https://gerrit-review.googlesource.com/Documentation/index.html

Thomas Broyer

unread,
Oct 18, 2012, 4:23:58 AM10/18/12
to google-web-tool...@googlegroups.com
All,

Matthew doesn't mention it above (it's a copy/paste from the mail he sent to us members of the Steering Committee a few days ago) but be prepared to rebase your changes sometime in the near future, as the "plugins" folder (for instance) will be extracted out into its own repository, meaning the whole repo history will be rewritten.
As Matthew said: consider this a "beta" release.

And since I'm writing this, I'd like to publicly thank Google, and more specifically Matthew, for setting up this platform.

Jens

unread,
May 20, 2013, 2:07:39 PM5/20/13
to google-web-tool...@googlegroups.com

  1. Complete a Contributor Agreement: go to https://gwt-review.googlesource.com, click “Settings” and then “Agreements”, and follow the instructions.  If you previously submitted an individual CLA electronically via Google Code, please do so again via Gerrit (sorry!).

With "individual CLA via Google code" you meant this form: https://developers.google.com/open-source/cla/individual ? At least thats what I have submitted in 2011, so I am wondering if I need to re-submit one through Gerrit?

Also as a second question as I couldn't find any information about it: If I have multiple local issue/feature branches, can I add refs/for/master as a remote for each of them and then push an issue/feature branch directly to Gerrit? Or am I forced to merge these issue/feature branches into the local master branch first and then push the master to Gerrit?

-- J.

Matthew Dempsky

unread,
May 20, 2013, 2:21:31 PM5/20/13
to google-web-toolkit-contributors
On Mon, May 20, 2013 at 11:07 AM, Jens <jens.ne...@gmail.com> wrote:

  1. Complete a Contributor Agreement: go to https://gwt-review.googlesource.com, click “Settings” and then “Agreements”, and follow the instructions.  If you previously submitted an individual CLA electronically via Google Code, please do so again via Gerrit (sorry!).

With "individual CLA via Google code" you meant this form: https://developers.google.com/open-source/cla/individual ? At least thats what I have submitted in 2011, so I am wondering if I need to re-submit one through Gerrit?

Unfortunately, yes, for the time being you need to re-submit the agreement through Gerrit too.  I'm told they hope to streamline this in the future, but that's the current status.

Also as a second question as I couldn't find any information about it: If I have multiple local issue/feature branches, can I add refs/for/master as a remote for each of them and then push an issue/feature branch directly to Gerrit? Or am I forced to merge these issue/feature branches into the local master branch first and then push the master to Gerrit?

Yep, you can have separate feature branches and push them all directly to refs/for/master and they'll all show up as independent patch sets.  I've been doing just that, and then I use "git push origin HEAD:refs/for/master" to push the new patch set to Gerrit.

As long as your Git config gives the same end result as that, however you configure it should work fine.
Reply all
Reply to author
Forward
0 new messages