[email protected] wrote:
It’s lunch time, so here are my own (very opinionated) thoughts on
the matter:
Well, if we’re doing opinions:
CVS: Works well if you’re a development team of 1 person with good
connectivity to your CVS server. Not a good idea for large teams,
distributed teams, or large projects.
SVN: Used to be an absolute PITA to get working, because it relied on
WebDAV & Apache2. I instinctively dislike anything which keeps all your
code in a weird binary format, which was also a problem with SVN at
first. If I were going to use it (which I might), I’d go with the flat
file back-end and dedicated SVN server.
Arch: Does all the back-end stuff right. Keeps your source in its
original format, keeps releases and diffs as .tar.gz, and so on. Was
severaly broken for a long time, in that it choked on filenames with
spaces in. That was fixed, and I gave it a try, but unfortunately the
command line UI is truly horrendous. I used it for a while, then gave up
because it was too hard to work out how to do anything, even with cheat
sheets.
Monotone: Does the right thing for a very open and distributed project,
where security is an issue. Probably overkill if you know and trust all
your developers, though.
Bazaar: A fork of Arch that attempted to fix the UI hideousness. Dead,
according to the FAQ on the Bazaar-NG pages.
Bazaar-NG: The back-end of Arch with the UI of SVN. Probably pretty
good, therefore. Bad experiences with getting Python working in the past
put me off a little.
git, cogito: A crude hack thrown together because Linus made the stupid
decision to put all Linux’s code in a proprietary RCS (BitKeeper), the
owner of the proprietary RCS threw a hissy fit when people tried to make
open source clients interoperable with it, and suddenly nobody could get
a free license for the client any more. Assembled from shell scripts,
which alone should be enough to convince anyone to stay far away.
Darcs: Looks good. I’d probably use it if it was in a more mainstream
language.
mathew