6 ms·
This may be the thing that gets Google to switch. They like having every piece of code in a single repository which Git cannot handle. Now that it is somewhat
by ericfrederich 9y ago
This may be the thing that gets Google to switch. They like having every piece of code in a single repository which Git cannot handle.
Now that it is somewhat proven, maybe Google will leverage GVFS on Windows and create a FUSE solution for Linux.
- twinge 9y agoGoogle already has a FUSE layer for source control: http://google-engtools.blogspot.com/2011/06/build-in-cloud-accessing-source-code.html http://google-engtools.blogspot.com/2011/06/build-in-cloud-a...
- farresito 9y agoThey use mercurial (or were), which is as good as git. In fact, I bet a lot of people at Google are happy to use mercurial instead of git, given git's bad reputation with its command line interface.
- Thaxll 9y agoThey don't use mercurial.
- sbuttgereit 9y agoYou're thinking of Facebook if I'm not mistaken.
- farresito 9y agoI had seen several sources that affirmed that Google used Mercurial, but I'm not sure to what extend, so I will retract it :-)
- Xorlev 9y agoI'm sure there are a few teams that use Mercurial incidentally somewhere, but our primary megarepo is all on a VCS called Piper. Piper has a Perforce-y interface and there are experimental efforts to use Mercurial with Piper. Also mentioned in the article below, there's limited interop with a Git client. If you're curious what it all ends up looking like, read this article. It's a fairly good overview and reasonably up to date. https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...
- cbhl 9y agoIIRC, the git client is deprecated; the mercurial one is meant to replace it for the use cases where you would want a DVCS client interfacing with Piper in the first place.
- quotemstr 9y agoIt's not deprecated. I use git-multi every day, much to the chagrin of my reviewers. Google thinks that long DIFFBASE chains are weird and exotic, and Google doesn't like weird and exotic as a rule.
- deleted 9y ago[deleted]
- paulddraper 9y agoGoogle used to have a Perforce frankenstein, but now they have their own VCS.
- nine_k 9y agoPiper is their perforce-like server. You check out certain files, as you'd with p4, work on the tree using git, with reviews, tests, etc. You periodically do a sync which is like pull - - rebase. Then you push your changes back into the perforce-like monorepo.
- MichaelMoser123 9y agoalso they do all the development in one branch / in the trunk https://arxiv.org/abs/1702.01715 https://arxiv.org/abs/1702.01715 ( I never understood the explanations as to why they do that ) Now the article says that with windows they do branches.
- daxfohl 9y agoI'd rather see google open up their monorepo as a platform, and compete with github. git is fine, but there's something compelling about a monorepo. Whether they do it one-monorepo-per-account, or one-global-monorepo, or some mix of the two, would be interesting to see how it shapes up.
- jasonkostempski 9y ago"one-global-monorepo" caused me to envision a beautiful/horrifying Borg-like future where all code in the universe was in a single place and worked together.
- rak00n 9y agoI felt like that when I first saw golang and how you can effortlessly use any repo from anywhere.
- wbl 9y agoAs the joke goes, Go assumes all your code lives in one place controlled by a harmonious organization. Rust assumes your dependencies are trying to kill you. This says a lot about the people who came up with each one.
- aeorgnoieang 9y ago> Rust assumes your dependencies are trying to kill you. Would you mind unpacking this? I'm intrigued.
- dom0 9y agoCargo.lock for applications freezes the entire dependency graph incl. checksums of everything, for example.
- gue5t 9y agoThis is how Linux (and BSD, and so on) distributions work. Of course there are proprietary and niche outliers, but you can't forbid those in the first place.