I struggle to understand how version control is not more actively used.
It's not particularly necessary when you have global state with
snapshots provided by a shared WORM fs.
I always thought that argument was a bit suspect. And with the loss of
sources.bell-labs.com, it's apparent why. The only revision history was
in the venti. Now that that is lost, so is that history. I know that
there are partial mirrors of sources, but none go all the way back to the
dawn of the sources venti archive. And on the mirrors, we lose the
'blame' functionality fossil provided by tracking who last updated a file.
If this had been hosted in an SCM, it would have been so simple to
replicate that full history elsewhere.
The other bit that snapshots/dumps miss is context. When everyone working
on the code was within shouting distance of the "unix room" that wasn't an
issue. But now, that context has been lost. Annotations about the "why"
of a commit are as important as the "what." diffy(1) answers the "what,"
but not the "why."
DVCS adds a lot of complexity
for questionable gain, in that environment. 9front's adoption of
mercurial is a historical accident rather than a desired outcome. But,
I understand that most people just want to use the tools they already
know. It's much easier than learning a new paradigm.
+100 on DVCS and needless complexity. cvs or sccs provides all the
functionality I've ever needed in an SCM system. Although I confess I
have been seduced by git's ability to instantly create and switch between
branches. It makes trying out "what if" scenarios completely painless.
But it's not enough to convince me to use git except on very rare