Brian Harry has a fascinating post that discusses Microsoft’s use of Git. At first blush that may seem profoundly uninteresting but consider: for various reasons Microsoft maintains very few repositories so, for example, all of Windows core is in a single repository containing millions of files. The scaling problems are obvious. Not least is the fact that Git wants to maintain a copy of the repository on each user machine, an obvious problem considering that the repository is held on more than 40 different Windows Source Depot servers.
They solved the scaling problems by implementing what they call the Git Virtual File System. That made it possible to provide the Git experience to their huge repositories with minimal changes to Git itself. Harry’s article provides more details so you should definitely take a look.
If, like me, your career has been spent with smaller or medium size companies, it’s easy to underestimate the problems that a huge code base can bring. Harry’s post describes some of those problems and what they’re doing to bring them under control. Even those of us who aren’t Windows users will find Harry’s discussion interesting. Read it and you’ll probably stop complaining about your own repository problems.