6 ms·
"The two internet giants (Google and Facebook) are working on an open source version control system that anyone can use to juggle code on a massive scale. It’s
by lighthawk 11y ago
"The two internet giants (Google and Facebook) are working on an open source version control system that anyone can use to juggle code on a massive scale. It’s based on an existing system called Mercurial. “We’re attempting to see if we can scale Mercurial to the size of the Google repository,” Potvin says, indicating that Google is working hand-in-hand with programming guru Bryan O’Sullivan and others who help oversee coding work at Facebook."
Why Mercurial instead of Git?
- urda 11y agoBecause Google and Facebook are using Mercurial over Git internally. Edit: And for those that are just shocked that git isn't the answer. Facebook: https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ https://code.facebook.com/posts/218678814984400/scaling-merc... Google: http://www.primordia.com/blog/2010/01/23/why-google-uses-mercurial-over-git/ http://www.primordia.com/blog/2010/01/23/why-google-uses-mer...
- foobar2020 11y agoHow do you know that?
- skj 11y agoHe/she doesn't. It's false.
- Lewisham 11y agoWell, Piper conforms to the Perforce API-ish, and Android and Chrome are both on Git. Mercurial was pushed internally as being the "better" (for some dimension of better) between it and Git back in 2010, but I think even the most hardline Mercurial fans have realized that in order to meet developers in the middle in 2015, we need to use Git for our open-source releases. We have a large investment in Gerrit [1] and Github [2] now. So the Mercurial comment is probably entirely based on scaling and replacement for the Piper Perforce API, rather than anything externally facing. [1] https://www.gerritcodereview.com/ https://www.gerritcodereview.com/ [2] https://github.com/google https://github.com/google
- cap_theorem 11y agoThough both Android and Chromium still build in a way more similar to that for a monolithic repo. They use repo and depot_tools, respectively, as abstractions on top of Git in order to clone and manage all their Git repositories together as if they were a single large repository.
- cmrdporcupine 11y agoI don't think I'm leaking anything by saying that that article about Google is incorrect. Mercurial isn't used at Google, not anywhere I've seen. Probably that article has something to do with the now-defunct Google Code site, which did in fact use Mercurial.
- jordigh 11y agoGoogle devs are working (with some help from Facebook) on getting hg into Google, but they're not there yet. Look at all the work that Google has been putting into hg. It's not purely out of the goodness of their hearts: https://selenic.com/hg/log?rev=@google.com&revcount=200 https://selenic.com/hg/log?rev=@google.com&revcount=200 I always see a lot of Google and Facebook at the Mercurial sprints.
- cmrdporcupine 11y agoI can't comment on what Google might be doing in the future with RCS. Well, I can't comment but also don't know. I personally like hg. But if I were to take a poll of the informed and opinionated engineers sitting around me, they would almost all likely take git over hg. In any case, git is in actual widespread use _now_ at Google, for Android and Chrome, and other open source stuff (some of which was moved recently from code.google.com to github).
- deleted 11y ago[deleted]
- spectral321 11y agoGoogle isn't using Mercurial at any significant scale, but there is work being done to see if it can be made to work as a client for Piper.
- thatoneguy 11y agoI was at Google for a long time and it was almost entirely Perforce (some Googlers used git) until it was Piper (which is very similar to Perforce). L&S used CVS at Stanford for the original Backrub/Google code and for some time after the establishment of Google, Inc.
- farresito 11y agoIs Piper a wrapper around Perforce or built from scratch? What is it exactly, if you don't mind me asking?
- thatoneguy 11y agoIt was built from scratch because it was designed as a replacement for Perforce because Perforce is expensive and the G used wrappers around it, anyways. The commands are still basically the same as Google's wrappers around Perforce and the learning curve was non-existent for someone who was used to using Perforce at Google.
- DannyBee 11y agoThere are also a massive number of git repos internal to googl e as well. One thing mentioned in the paper, but not mentioned here, is that there are teams that live in GIT, such as android and chrome, but they are not monolithic.
- deleted 11y ago[deleted]
- jsolson 11y agoThere may be Mercurial plans for the future, but to date I've never encountered it at Google. Lots of people use git, though, including folks outside of Chrome and Android who are working against Piper.
- harveynick 11y agoThat's not true of Google. At least, not on any of the teams I've worked on. I use a Git wrapper around Piper.
- sghi 11y agoI believe that Facebook ran into problems scaling Git, outlined here - https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ https://code.facebook.com/posts/218678814984400/scaling-merc...
- rakoo 11y agoIt looks to me like mercurial is easier to hack on than Git (written in clean Python vs written in C), and in their initial stage both mercurial and git weren't up to the task.
- grouseway 11y agoWhy not IBM? Why not Microsoft? Is that what the HN crowd has turned into? You now have to justify the non mainstream solution like a scared mega-corp career drone who will only go with the safest bet? Git isn't so awesome that it's inconceivable that people would be willing to use something else.
- bigtunacan 11y agoPersonally; I wondered the same thing as the parent, why not Git? For me, this thought was not in a, "How could they possibly not choose Git!?", but more along the lines of, "There are a lot of smart people working at Google; I wonder what technical aspects of Mercurial might make it more suited to such a large code repository than Git?"
- malkia 11y agoI'm at Google now, but would share my opinion of Perforce while I was at Treyarch - Perforce is simply very easy for anyone to use - from software engineer, to game designer, scripter, artist, producer, technical writer, linguist, translator, etc. You can announce your changes by simply saying - it's submitted in CL: 12345678 - grab it and you are done. Eases the communication. Git and HG are not. Not that they can't be learned, but the learning curve is much higher. Piper and CitC (mentioned in Rachel Potvik's videO) are even more advanced, I can work from my desktop machine, then go and continue from my laptop, or open and edit files directly from critique in an internal web-based editor. Key to all this - make it accessible through the web! Anyone can work then from almost any machine. But at the same time the sources is accessible in the file system - even more awesome - so i can use emacs, and whatever other tools are there.
- scrollaway 11y ago> Is that what the HN crowd has turned into? It's a legitimate question, damn it. Especially if the chosen solution is not mainstream. You don't pick non-mainstream solutions "just because". You do pick mainstream solutions "just because". As in, "just because" they are tried and true, "just because" it's familiar to devs, etc. So let me ask the reverse question: Is that what the HN crowd [sic] has turned into? You can no longer ask the reasons behind your tech choices?
- georgemcbay 11y agoI've used git on repos far less than 2 billion lines of code and it was kind of a nightmare to clone and do basic local checkouts and normal everyday stuff. Out of the box, git's design is not well suited to large repos. I know there are various workarounds for dealing with large repos but having had some experience using git on big-ish projects I can certainly understand some possible reasons why it wasn't their first choice given the size of their codebase.
- cynicalkane 11y agoI don't work for FB, but word through the grapevine is that FB wanted to use Git, but the Git folks refused to talk to FB about making it scale. By contrast, hg was happy to have them as users and contributors.