Hacker News new | comments | show | ask | jobs | submit login
Google Code now supports Mercurial (google-code-updates.blogspot.com)
118 points by durin42 on Apr 24, 2009 | hide | past | web | favorite | 31 comments

I particularly like their DAG grapher: http://code.google.com/p/erratic/source/list

Something about the curved corners leaves me really pleased with how it looks.

Neat to see a good, live use of SVG out in the wild.

Google is certainly no stranger to "VML for IE, SVG for everybody else": it's what Google Maps uses.

It seems that Google did a good job implementing mercurial on its own infrastructure. It could encourage open source developers to switch from subversion to hg.

Disclaimer: I use Git for my own stuff and as an svn client at work.

But I wonder if Git's author's boorish-yet-sort-of-amusing behavior when invited to speak at Google a couple of years ago may have also quietly weighed on the decision some:


Looks like the main reason for the choice was efficient HTTP support.

They doesn't get it. It's not about just public repository hosting anymore -- it's about "social networking" for code. I know, this sounds like hype for anyone except those who used GitHub (or, maybe, BitBucket, but I haven't used it). It's different than just hosting projects.

<ducking while the Git fans prepare to flame>

While I am a huge Git fan, I completely understand their decision to go with Mercurial. It has better documentation, better cross-platform support, and a similar feature set. Git is improving in all these areas, and I use Git for my personal projects, but Mercurial does have its advantages.

Python's move to Hg might have been an influence as well. Mssr. vRossum does work for GOOG after all.

Well the google code support was started long time before Python started looking for a DVCS. If one had an influence on the other it was probably the other way round.

I wouldn't count on it. Internally Google uses Perforce for version control (and IIRC git for some public-facing things), and it's been noted that Google's Python style rules and procedures are quite different from Guido's (their style guide actually goes against PEP 8 -- easy way to spot open-source contributions from Googlers, though).

In all honesty, I bet the GitHub folks are ecstatic over this decision.


edit: To elaborate, we view the growth of DVCS in general as a good thing. (Also we have a big surprise coming soon for hg users.)

I sure hope that means Hg support with github

I was going to start rawring but this made me laugh. Still odd they chose to support Mercurial first. Maybe it's used internally more that git is?

They document their tradeoff analysis here: http://code.google.com/p/support/wiki/DVCSAnalysis

Google mainly uses Perforce internally. They do use git for their external Android repository (with automatic imports from their internal Perforce branches).

I think Google is making some bad choices with the technologies that they are choosing to support (Python/Java over Ruby, Mercurial over Git).

While there might be technological advantages to Python/Java/Mercurial, the Ruby and Git communities are a more evangelical and willing to try new things.

What an odd thing to say. I guess if you're confined to the Ruby/Git communities, it might seem like no one else has any passion, but still...

There's a ton of fantastic work being done in Python and on the JVM, and quite a few vocal fans of hg. I mean, Scala and Closure get a ton of play here. People are doing fantastic stuff with Django, Twisted, Stackless (and bragging about it). There are lots of people (me included) that would probably be using hg full time if it weren't for Github.

It's really important to keep yourself from being cloistered in a single environment, I think. It's awfully easy to miss cool stuff elsewhere if all you give a crap about is Ruby, and probably detrimental to your own learning.

"I think Google is making some bad choices with the technologies that they are choosing to support (Python/Java over Ruby, Mercurial over Git)."

I remember a large portion of Google's codebase has been based on Python/Java when Ruby was not popular back then. How could you say they made a bad choice to support their own infrastructure? As the reason of choosing Mercurial for Google Code, consider the following facts in addition:

0. Mercurial is written in Python (well, some critical parts in C)

1. Google App Engine supports Python first (then Java)

2. GvR works in Google

3. Python adopts Mercurial this year for version control

The road of convenience isn't necessarily the best road for your product.

Looking at how github has exploded, and how much more momentum git has in the community, it's hard for me to be convinced that it's not worth the effort it would take google to support it. I also think they should support hg and bzr.

Good points, but as pointed out elsewhere in this thread:

* Mercurial support at Google started before the discussion to move Python (I don't know details, but someone said it here so it must be true)

* Google was using Python long before GvR was hired.

[edit: s/hg/Mercurial/, I guess it's the proper thing to say]

Are you being facetious or do you really believe evangelism trumps technology?

I'd say that it plays a much greater role than people want to believe.

I think GvR working at Python has something to do with it. If, instead, Yukihiro Matsumoto had gone to work at Google and build a team developing development technologies around Ruby, things might be different. Not that it's that big of a change either way.

FWIW, Google was using Python internally long before GvR came on board.

There is something to be said for the fact that Google went after GvR and not YM.

Yay for one line insinuations about people few of us actually know well enough to have an informed opinion about.

I wasn't insinuating anything about the people, I was insinuating something about Google's language preferences as expressed through their hiring choices.

GvR has better English proficiency?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact