Mercurial support for Project Hosting on Google Code
We are happy to announce that Project Hosting on Google Code now supports
the
Mercurial version control
system in addition to
Subversion. This
is being initially rolled out as a preview release to a few invited users on a per-project
basis, so that we can iron out the
kinks before making
this available to the general public.
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.
By David Baum,
Software Engineer