source control.
Dave: “GNU Arch is
idiotic. It’s a deranged developer’s wet dream
about how revision control should work. Sure, it permits distributed
development. But it does not need to be this complex.”
I write about source control here from time to time (also known as “version control” or “code control” or, as the suits call it,
SCM—“System Configuration Management” or something equally
obtuse). A trip through the archives yields some tidbits:
- 05-Jun-2004:
Monolithic clients for Subversion. I maintain that
the sheer volume of arcane library dependencies required to
attain a functioning svn installation is a
huge roadblock to adoption. (Windows users have it
easy; they can use TortoiseSVN, a Windows
shell extension that truly rocks all over. I’ve mentioned the
CVS version here before.) - 05-Jun-2004. “Martin Pool: ‘I
like thinking and writing about version control because it has
an interesting mix of technical problems and human/social
problems…’” - 23-Feb-2004.
p4 vs. svn;
everything
vs. everything else. - 06-Feb-2004. All about
darcs, in which patches are “analogous to the
operators of quantum mechanics.”
I’ve been partial to Perforce
since I started using it at Be (where they switched from CVS to p4 once
the source tree—and engineering department—increased beyond a
certain size where CVS is acceptable). P4 Just Works, almost always The
Way You Expect It To. Commits are bundled into atomic
changelists which have a (single) accompanying change note;
the local file tree is not fragile (woe betide the owner of a moved
directory in CVS/SVN!); branch integration is handled (almost always)
intelligently; the client install is a breeze, and the server
install isn’t much harder; Mac resource forks are handled sensibly
(these days); the list goes on. Of course, it’s a commercial product
with a hefty license, so you won’t see individuals or universities using
it any time soon. (They do have a special open-source license, but there
are some hoops.) So individuals are left with a few choices: cvs (or
svn, a cvs with some old problems solved and replaced by new ones), arch
(amazingly complex, from the very first step, when you discover that the
command-line tool is named “tla”!), and a bunch of other also-rans.
Is there anyone out there who’s found something he likes, that he can
reasonably recommend to a friend without feeling the guilt of having
damned that friend to days and days of thumbing through the manual?
Anyone?
Update: Joe reminds me about
Perforce’s educational
licensing. “It seems a little expensive, [$3500/year, no per-seat
cost. —dan] but
something a department could probably afford if it were to want to
actually keep everything that people are working on, even after they
leave.”