That said, I just took a quick look at the web-based CVS browser for the FreeBSD source repository, and I wonder if splitting the project up into a few smaller should have been considered more carefully? For example, ports go into one repository, the kernel goes in another, documentation into a third, and so on.
I'm not a FreeBSD guy, so it's easy for me to make outrageous claims, but I just wonder if inertia was in play here. Reorganizing the source repository to perhaps clarify it and also take advantage of everything git (or Mercurial, for that matter) has to offer, might have made sense. CVSup and the related toolchain will probably need substantial changes to support anything which isn't CVS anyway. In any case, could you give some supporting evidence for your statement that splitting up the repository is not an option for FreeBSD?
In fact, that's almost what FreeBSD has done for years. Until recently, there were separate src, ports, doc, www, and projects CVS repositories; the only change now is that the src repository is SVN -- the others are still CVS. As for why the kernel isn't a separate repository: FreeBSD, unlike linux, considers the kernel to be an integral part of a larger whole -- not a completely separate entity. We find that developing the kernel alongside userland utilities and libraries is a very Good Thing.
CVSup and the related toolchain will probably need substantial changes to support anything which isn't CVS anyway.
Nope. All the commits to SVN-src are being replicated to CVS-src (and will be for years to come) -- SVN is basically being used as a new way of doing CVS commits.
Sure is a big departure from that git presentation he gave at Google were he was basically saying anyone who doesn't use git is necessarily a clueless retard.
Where I work we 80Gb trees (sans history, that is) and idea of everyone syncing the whole 80Gb on all of their machines quickly kills any discussions around alternative source controls.
I'm guessing that you have a fairly large average file size here, so your 1.5GB Git repository contains far fewer files than FreeBSD's 1.8GB CVS repository.
That said, the strongest evidence that Git can't handle a project the size of FreeBSD comes from Linus himself in a discussion last year about KDE: '"Quite frankly, the way git works (tracking whole trees at a time, never single files), that ends up being very painful, because it's an "all or nothing" approach.' Linus' answer was that KDE should split up their repository into lots of small git repositories; that's not an option for FreeBSD.
If Linus himself doesn't think that Git works well for a unified project the size of FreeBSD or KDE, who are we to argue? :-)