
Mercurial, like Git and Bazaar, is a distributed version control system (DVCS) that enables developers to work offline and define more complex workflows such as peer-to-peer pushing/pulling of code. It also makes it easier for outside contributors to contribute to projects, as cloning and merging of remote repositories is really easy.
While there were several DVCSs that we could support, our decision to support Mercurial was based on two key reasons. The primary reason was to support our large base of existing Subversion users that want to use a distributed version control system. For these users we felt that Mercurial had the lowest barrier to adoption because of its similar command set, great documentation (including a great online book), and excellent tools such as Tortoise Hg. Second, given that Google Code's infrastructure is built for HTTP-based services, we found that Mercurial had the best protocol and performance characteristics for HTTP support. For more information, see our analysis.
If you would like to help us launch Mercurial and to try out the features as an invited user, please fill out the following form. We are currently looking for active projects with more than two users that are willing to try out Mercurial and work with us to identify issues and resolve them. For projects that plan on migrating from Subversion, see our conversion docs for the steps required for this process.
Our implementation of Mercurial is built on top of Bigtable, making it extremely scalable and reliable just like our Subversion on Bigtable implementation. For more information on our Mercurial implementation, we will have a TechTalk at Google IO that will be led by Jacob Lee, one of the core engineers working on Mercurial support. Let us know if you plan on attending and we'll give you access to Mercurial ahead of the talk.

Awesome! Thanks so much! I'm glad you recognized HG is better than Git =D Well done guys.
ReplyDeleteWhen should we see Git support! Git is like de-facto now for distributed version control. Btw nice to see HG support!
ReplyDeleteFantastic! Thanks so much. This is great news.
ReplyDeleteAwesome work guys! Wonderful accomplishment!
ReplyDeleteWow, now that is indeed some pretty cool stuff!
ReplyDeleteRT
www.anonymity.es.tc
Git de-facto? Sort-of. Like MySQL is the "de-facto" SQL server people use. Both due to people not knowing any better and being to lazy/stupid to actually do any research, so they pick what "everyone else uses". In the case of Git, it's "those kernel guys are using it, so it must be *great*".
ReplyDeleteI do hope Google Code's adoption of Hg helps to balance this out a bit.
Great work, "our implementation of Mercurial is based on BigTable", now you people are just bragging.
ReplyDeleteInteresting, given that the Android team is using Git.
Code revision control software is nearly as much about personal taste and usage style as it is about "real" features. Personally, I found it much easier to transition from bitkeeper to git than to any other distributed revision control system I tried. I don't recall offhand what my thoughts of mercurial were at the time, but ultimately I didn't find it to be suitable to me.
ReplyDeleteI would love to see google code eventually pick up git support as well, however, Mercurial is a far sight better than SVN for open source project usage. Distributed truly is better!
It would be very useful to have git support too. Most major Open Source project have now switched to git (kernel, X, Gnome, etc), while only one uses Hg (Mozilla). It would be especially useful to have git support for Android since it seems to be the preferred DVCS in that part of Google.
ReplyDeleteYeah, sure. Please count with me: Mozilla, OpenJDK, Python ... (still counting) ...
ReplyDeleteNot sure I see what the issue is. There are excellent free and commercial choices already for any and all open source projects. If you use git, there is github. If you use mercurial, there is bitbucket. Everybody can be happy.
ReplyDeleteGoogle doesn't recognized Mercurial as a superior SCM than git or Bazaar, but rather evaluated it as a more suitable solution for given situation.
ReplyDeleteAnd anyway, they're using other solutions themselves (Android team using git, for example), so I'd say suum cuique.
So, I am guessing we can host a project in subversion and with mercurial?
ReplyDeleteThis is definitely great news
ReplyDelete2Berlin Brown: Yes, but AFAIK you will need to take care about syncing repositories.
I completely agree.
ReplyDeleteHg is a great DVCS and mantaining support for both centralized and distributed (both simple to use and enough powerful to be useful :) ) is the right choice to support all kinds of projects hosted on Google Code.
(and it's written in python like large amount of google's own code :D )
Suggestion: it might be worth considering allowing more than one hg repo per project?
ReplyDeleteit sounds good... but why not GIT instead of Mercurial?
ReplyDeleteGreat. When can we expect to see Git now ... ?
ReplyDeleteThat is really great, and the choice show why Hg > git.
ReplyDeleteThanks
Way to go Google! Someone finally got it right.
ReplyDeleteYaaaaaaaay! And it's my favorite DVCS too!
ReplyDeleteNice to see the move to DVCS support but git should really be supported. I suppose that's a matter of time...
ReplyDeleteI suggest anyone who says there is no great Windows GUI for GIT checks out Git Extensions. It even has a plugin for Visual Studio 2005 and 2008. I use it daily and works great.
ReplyDeleteI want Bazaar!
ReplyDeleteAnyone working on the Linux kernel, like the Android project, will naturally use git. Mercurial is a wonderful system. You hg haters can go sulk with the Ruby AppEngine programmers.
ReplyDeleteGreat! :) I like Mercurial and projectgroups at my school mostly use Google Code because there's nothing the academy provides. Now we can use Mercurial in Google Code so I'm happy. :)
ReplyDeleteGreat news. Does that mean google projects are gonna use more HG and less SVN from now on?
ReplyDeleteProject Kenai from Sun has had hg and Subversion support since September 2008, and also now offers Git support.
ReplyDeleteIs there any chance that Mercurial on Bigtable will be usable by the AppEngine people? It would be really nice to clone a repo to AppEngine for internal use (like versioning a wiki, etc.)
ReplyDeleteIf you are not going to support git then I'll move my projects out of google code.
ReplyDelete> If you are not going to support git then I'll move my projects out of google code.
ReplyDeletego ahead.
Thanks for Mercurial support!
ReplyDeleteIf you are not going to support git then I'll move my projects out of google code.See if they care!
ReplyDeletecan't wait for mercurial support to get out of beta!
ReplyDeleteCool stuff. Does anybody know when HG support is going public?
ReplyDeleteIt's great that Mercurial is now supported. However, the Google Code workflow is still pretty oriented towards centralized version control (branches and code reviews).
ReplyDeleteI hope there will be support similar to Launchpad for distributed version control.
Nice Post
ReplyDelete-------------
Best Hosting Special Offer
Great to see hg support! Expecting Git. Supporting serveal vc systems will require Google to have a deep understanding of all of them.
ReplyDeleteBut that's a good thing.
The major reason I have seen for people moving out of google code [including myself] has been git and github. Though I will admit that google hosting is very solid, without git, it won't be competitive for me.
ReplyDeleteMercurial's major design goals include high performance and scalability, decentralized, fully distributed collaborative development. So it is good.
ReplyDeleteMy Blog : earn money chao!