News for hackers. Stuff that matters.
Re:The largest Git repo by arjie on Wednesday May 24, 2017 @01:01PM (#14411508)
Why split it into separate modules? Seeing that big companies are very successful with monorepos (Google, Facebook, Microsoft), has made me reconsider if repository modularization is actually worth it. There are a host of advantages to not modularizing repos, and I'm beginning to believe they outweigh those of modular repos.
Re:The largest Git repo by je42 on Wednesday May 24, 2017 @01:57PM (#14412047)
mono repo only works if you have tooling. google's and facebook's tools are not opensource. also, ms tooling is windows only.

so for most of us the only reasonable path is to split into multiple repositories.

it is also easier to create tools that deal with many repositories.

than it is to create a tool that virtualizes a single large repo.

Re:The largest Git repo by ethomson on Wednesday May 24, 2017 @02:52PM (#14412468)
Microsoft's tooling is Windows only _today_. GVFS is open source _and_ we are actively hiring filesystem hackers for Linux/macOS.
Re:The largest Git repo by riffraff on Wednesday May 24, 2017 @02:34PM (#14412323)
but google's and facebook's repos are also orders of magnitude larger than what most people deal with, normal tools might work just fine in most cases.
Re:The largest Git repo by amptorn on Wednesday May 24, 2017 @02:03PM (#14412086)
> Why split it into separate modules?

Well, because of the unbelievable amount of engineering work involved in trying to get Git to operate at such insane scale? To say nothing of the risk involved in the alternative. This project in particular could easily have been a catastrophe.

Re:The largest Git repo by a-priori on Thursday May 25, 2017 @10:21AM (#14417465)
Microsoft has about 50k developers. When you're dealing with an engineering organization of this size, you're looking at a run rate of $5B a year, or about $20M a day. It's a no-brainer to spend tens or even hundreds of millions of dollars on projects like this if you're going to get even a few percentage points of productivity.

It can be hard to understand this as an individual engineer, but large tech companies are incredible engineering machines with vast, nearly infinite, capacity at their disposal. At this scale, all that matters is that the organization is moving towards the right goals. It doesn't matter what's in the way; all the implementation details that engineers worry about day-to-day are meaningless at this scale. The organization just paves over over any obstacles in pursuit of its goal.

In this case Microsoft decided that Git was the way to go for source control, that it's fundamentally a good fit for their needs. There was just implementation details in the way. So they just... did it. At their scale, this was not an incredible amount of work. It's just the cost of doing business.

Re:The largest Git repo by amptorn on Thursday May 25, 2017 @01:05PM (#14418554)
You haven't said anything at all about the risk.
Re:The largest Git repo by a-priori on Thursday May 25, 2017 @01:25PM (#14418685)
If there's one thing large organizations are good at, it's managing risk. And if you read their post, they've done this.

They're running both source control systems in parallel, switching developers in blocks, and monitoring commit activity and feedback to watch for major issues. In the worst case, if GVFS failed or developers hated it, they could roll back to their old system.

Again, to my point above: there's a cost to doing this but it's negligible for very large organizations like Microsoft.

Re:The largest Git repo by komali2 on Wednesday May 24, 2017 @01:24PM (#14411735)
Wait so like, at google, Inbox and Android are in the same repo as ChromeOS and oh I dunno, Google Search? That doesn't make any sense at all...
Re:The largest Git repo by jvolkman on Wednesday May 24, 2017 @01:37PM (#14411837)
Android and Chrome are different, but most of Google's code lives in a single repository.

https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...

Re:The largest Git repo by TylerE on Wednesday May 24, 2017 @01:29PM (#14411779)
It makes total sense when the expectation is that any engineer in the company can build any part of the stack at any time with a minimum of drama.
Re:The largest Git repo by dvdcxn on Wednesday May 24, 2017 @02:58PM (#14412520)
What's dramatic about copy and pasting a clone uri into a command?
Re:The largest Git repo by TylerE on Wednesday May 24, 2017 @03:20PM (#14412708)
A url? Not much.

100 urls? That's getting a bit annoying.

Re:The largest Git repo by bitJericho on Wednesday May 24, 2017 @02:12PM (#14412156)
This just blew my mind. I'm gonna go home and see about combining all my projects. That seems very useful!
Re:The largest Git repo by therealdrag0 on Friday May 26, 2017 @04:31PM (#14426927)
It makes sense to have separate repos for things that don't interact. But when your modules or services do. Having them together cuts out some overhead.
Re:The largest Git repo by bronson on Wednesday May 24, 2017 @05:27PM (#14413598)
You don't have the same requirements as Google.
Re:The largest Git repo by bitJericho on Wednesday May 24, 2017 @06:52PM (#14414063)
What are my requirements such that this wouldn't work for me?
Re:The largest Git repo by mkj on Wednesday May 24, 2017 @11:00PM (#14415019)
It makes things tricky if you want to opensource just one of your projects.
Re:The largest Git repo by rleigh on Thursday May 25, 2017 @07:17AM (#14416590)
Well, there's always "git filter-branch".

Not that I'd want to run it on such a mega-repository; it takes long enough running it on an average one with a decade of history.

Re:The largest Git repo by sbuttgereit on Wednesday May 24, 2017 @01:38PM (#14411839)
Re:The largest Git repo by uiri on Wednesday May 24, 2017 @02:06PM (#14412110)
Yes, Inbox, Maps, Search, etc. are all in one repo in a specialized version control system.

Android, Chromium, and Linux (among others, I'm sure) are different in that they use git for version control so they are in their own separate repos.

Re:The largest Git repo by andreasklinger on Wednesday May 24, 2017 @01:27PM (#14411764)
Unsure if all their clients are in the same repo as well but even if…

Why doesn't this make sense.

I personally think of a repo as of an index not a filesystem. You checkout what you need but there is one global constant state - which can eg be used for continuous integration tests

Re:The largest Git repo by c8g on Wednesday May 24, 2017 @01:40PM (#14411858)
Android is in a separate repo.