(no title)
testUser69 | 9 years ago
So instead of cleaning up this mess they decided to "fix" git? With this type of thing going on at MS it's no wonder Windows 10 is more buggy than my Linux box.
Also why would they keep the entirety of "Windows" in one git repo? The only reason I can think to do this is if very large parts of the ecosystem are so tightly coupled together, that they depend on each other for compilation. I know it's not UNIX but any basic programming course teaches you to decouple your programs (and the parts of your programs) to make them not dependent on each other. Is the developer of explorer.exe expected to clone the whole Windows repo? Do they have no idea what they're doing? If they seriously have one monolithic code base then that really explains a lot.
Sounds like it's amateur hour turned up to 11 over at Microsoft.
bndr|9 years ago
[1] http://cacm.acm.org/magazines/2016/7/204032-why-google-store...
testUser69|9 years ago
They aren't copying all the files like you do with Git. They have a custom set up that sounds like it lets you checkout just the parts you need. I don't have time to read the whole thing, but it sounds like it works by breaking down a "super repo" into small "sub repos". This actually makes sense.
There is no way working with a 300gb git repo is fun or efficient, and they've probably been doing that for years at Microsoft.
justinmk|9 years ago
The merits of a "monorepo" have been hashed out previously[2], it's more nuanced than "lol, M$".
[1] https://code.facebook.com/posts/218678814984400/scaling-merc...
[2] http://danluu.com/monorepo/
maybe_someday|9 years ago
koolba|9 years ago
cwyers|9 years ago
sametmax|9 years ago
https://www.quora.com/Why-does-Facebook-have-so-much-of-thei...
https://www.wired.com/2015/09/google-2-billion-lines-codeand...
They may know something we don't :)
klodolph|9 years ago
becarefulyo|9 years ago
The numbers include test code, utilities, two entire web browsers, UI frameworks, etc.
ska|9 years ago
therealmarv|9 years ago
stephenr|9 years ago
Big companies, even successful companies aren't incapable of making, and continuing to make stupid decisions.
I'm sure each company has a reason for using a single massive repo. I doubt I would agree with their reason, but I'm sure they have one.
dstaheli|9 years ago
olkid|9 years ago
systemd
oneplane|9 years ago
I'm also curious as to how they used to do it without git, maybe using TFS? I wonder what the timings on that were.
Anyway, I don't think GVFS is the way to go, and I hope that it either doesn't get accepted or doesn't play a role outside of Windows. It's good to see more Git usage, but hacking away instead of fixing the problematic project seems somewhat idiotic. I can imagine other tools having problems with a single project that size, are they going to hack those as well?
BugsJustFindMe|9 years ago
Microsoft: "We, only one of most technologically advanced companies with only the 2nd or 3rd highest market cap of any public company on the planet depending on the day, had a problem with infrastructure trying to manage possibly the largest software project that anyone has ever made. And then we solved it."
You: "Stop doing what you're doing and pay attention to meeeeeeeeeeee."
klodolph|9 years ago
Google reportedly used to use Perforce for their monolithic codebase, and Facebook is supposed to use Mercurial with a bunch of modifications. They all have huge code bases mostly in one repo (I've heard Facebook had a >50GB Git repository, and Google's codebase is supposed to be in the TB range).
ctdonath|9 years ago
CJefferson|9 years ago
I recently ran some experiments, one file per experiment, one result file per experiment. At around 100,000 files, git started getting very upset. Why shouldn't I be allowed to have 100,000 files, or a million files, in a directory? Why should it be my job, as a user, to manually rearrange my data into a format my computer is happier with?
garysieling|9 years ago
I put all the records for https://www.findlectures.com in it, because then I can use diff tools for testing changes. Obviously this is nowhere near the size of the Windows codebase, but I could see a world where GVFS would be helpful for collaboration on this project.
unknown|9 years ago
[deleted]