Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which VCS should I use with Google Code?

I am about to start a project and was thinking of using Google Code to host it. It gives the option of using Mercurial or SVN for version control. I have never before used a VCS, and would like to know which one is easier to work with.

The project involves two main programmers, but a few others may contribute small amounts. It is mostly in python and we use Emacs as the primary editor. We are both using the Windows operating system.

like image 427
Nikwin Avatar asked Nov 19 '09 12:11

Nikwin


People also ask

What VCS does Google use?

Piper is a renowned version control tool that Google is using as a vast repository. Across the universe, it has been distributed over around ten Google data centers.

Does Google use Git or Mercurial?

Google doesn't use GitHub, or Git. Instead they have their own, pretty insane system called Piper. There is only one Piper repository. Different projects are different subdirectories within the same massive repository.

Does Google use mercurial?

In 2013, Facebook adopted Mercurial and began work on scaling it to handle their large, unified code repository. Google also uses Mercurial client as a front-end on their cloud-based 'Piper' monorepo back-end.

Does Google use subversion?

We currently use Subversion 1.4. 0, made available via WebDAV. Anonymous checkouts can be done via http://, while developers must use authenticated https:// to commit changes.


1 Answers

Use Mercurial.

Both systems will be easy, but Mercurial will be fast. Want to compare the differences between what someone else did last night and what you did last night? With SVN that's going to take a couple of seconds per file while it talks to Google's servers. With Mercurial it will be pretty much instant.

A couple of seconds per diff might not sound like a lot, but the benefits of a snappy, responsive interface will become apparent once you use a system that eliminates (most) of those pauses.

Oh, and people can fork your project without it being a huge pain in the ass. That's pretty cool too.

EDIT: Mercurial also doesn't feel the need to slap a .svn folder in every single folder in your project. Those things are ugly (and not hidden by default on Windows, like they would be on *nix system). There will just be one .hg folder at the root of your project, which is much cleaner.

EDIT: One more reason to use Mercurial: hg bisect. Tracking down a bug in 10 minutes instead of 2 hours because you were able to find the exact revision that caused it is awesome. It looks like there's a Perl svn-bisect tool but it's not in the core, and SVN's slowness in updating between revisions will make it a much longer process.

like image 133
Steve Losh Avatar answered Sep 18 '22 17:09

Steve Losh