GWT Source Code Repo – GIT and SVN – which is the one to track for changes?

Which is the official gwt source code repo to be tracked for changes?

The git way is here –

The old svn way is here –

Currently the git one is always updated slower than svn one. Is there any other?

  • Echo a single line of an SvnAnt error message using Ant
  • How to deal best with SVN and local changes, that should not be committed?
  • WAR files and Subversion
  • subversion via cifs is not working
  • How to deal with a git that has git-svn and pure git remotes
  • git “revert” current directory
  • Sending SVN commits to an RSS feed
  • svnserve and SASL problem
  • 2 Solutions collect form web for “GWT Source Code Repo – GIT and SVN – which is the one to track for changes?”

    If you want the latest changes, including those under review look at ( but changes/fixes exist as code branches (find the branch ref via the gerrit review URL) ).

    If you want the latest master code, then it is in SVN (for now!) but will move to Git in the future.

    Thomas Broyer wrote:

    I think the idea was to wait until the move to Git is complete. For
    now the Git repo is still a mirror of the SVN repo (git-svn) which is
    a mirror of Google’s internal Perforce. To complete the move, we’ll
    rewrite the history to remove all big files (prebuilt plugins and
    api-checker reference jars) so all contributors will have to re-sync
    their Git repo. So in the mean time, SVN and Rietveld is still OK,
    though “deprecated”.

    Addendum: I actually contributed 2 fixes to 2.5.0, so can comment a bit on the process (I won’t say I understand it fully though – more on that below).

    Here was my path:

    1. Found the issue that I had on Google Code, created a patch, submitted the patch via Google Code. – Huzzah, I thought, the night before Christmas and I gave something back to GWT.

    2. After delivering my gift, I found out this is not how to submit code these days. (see the link at the very bottom which Thomas Broyer pointed me to). So, I then checked out the git version of the project (not SVN), created a branch with my changes: – this is how it works with Gerrit.

    3. I screwed up some code formatting, so I had to amend the commit with the change (this is how you make a fix in Gerrit – I did not know this and submitted a new commit which was the wrong way – Thomas kindly and patiently pointed me on the right path).

    4. Once the code was reviewed and passed muster, it was Accepted and then Abandoned! Yes, Abandoned. I believe what Abandoned means here is that the branch with the change is abandoned since the code is merged in to the master branch. That confused me as well. 🙂 (EDIT: actually, I’m wrong here – it is abandoned because it was not merged into the git repo. I suspect this is because the git repo mirrors SVN – so you cannot merge changes into it! – great writeup on gerrit process here: )

    As I said, if you want the absolute latest changes, you can get all the code branches from (as I said earlier. 🙂 ). If there is a particular fix you need you can probably rebase that onto the master branch yourself.

    Now, what I don’t understand is why the googlecode repo is still open. It was quite confusing and frustrating to submit a patch there only to find out I needed to do it all again with Gerrit (fortunately they were tiny changes). I suspect keeping the googlecode repo alive is a legacy thing.

    Finally, as to why the SVN was merged before the Git master I do not know – perhaps ask on the contributor list (!forum/google-web-toolkit-contributors ). It may well be the case that SVN is still the the source and Git master feeds from SVN (as some projects do when they transition).

    Also, be patient – the GWT steering committee is new and have already done great work but have a lot more to do. It is fantastic that Google has passed control of releases over to them as the steering committee has some really great people on it.

    Here is the official word on code contributions:!topic/google-web-toolkit-contributors/fmHDlsnfdEQ/discussion

    Gerrit Crash Course
    In case you’re not familiar with Gerrit already, here are a few beginner steps to get started with:
    Going to or you should be able to see the “gwt” project.  You should also be able to anonymously check this out by simply running “git clone”.
    Further, you should be able to go to 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
    Finally, to actually create an issue is slightly more involved, but most of the steps only need to be done once:
    Complete a Contributor Agreement: go to, 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.
    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.
    Setup your Gerrit commit-msg hook (optional, but recommended): Gerrit provides a commit hook at 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 && chmod +x .git/hooks/commit-msg”).
    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”).
    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:

    I just bumped into the new Official GWT Project site which is for open source community.

    Update on the site states –

    GWT Git repo:
    GWT Gerrit code review:
    Old Google Code project:
    Git Baby is a git and github fan, let's start git clone.