[LLVMdev] Version Control Upgrade?
Duraid Madina
duraid at octopus.com.au
Sun Jan 9 03:23:57 PST 2005
Hi everyone,
Reid said:
> Of the tools available, it seems that only subversion, arch, and
> monotone are suitable for our purposes. But, we'd love to hear your
> thoughts; especially if you have first-hand experience with these tools.
Apart from using CVS as a client (as everyone does), I've only ever used
Aegis (previous employer, for ~3 years) and Perforce (the employer
before that, though ever since then I've been using the 'free' license
for personal stuff.) I've tinkered a bit with some of the shiny new V-C
systems.
Well, to put things bluntly, Aegis was a complete and total disaster,
while Perforce is the best version control system I've ever used.
Why? Ease of use! Something that isn't mentioned in the version control
system comparison Reid mentions. For good reason, no doubt - it is to
_some_ extent a subjective thing. However, Perforce has always been an
absolute joy to use (I can't stress this enough!!) while Aegis always
struck me as more or less designed to _inhibit_ development! (It really
does live up to its name on this point, trust me.) The differences can't
_all_ be in my head, I hope!
OK, I should at least _try_ to be objective. In contrast to the other
VCSs I've used:
- Perforce _just works_. By this I mean that it only ever takes effort
to make it work _differently_, not to make it work _at all_. I don't
want to start a flamewar and so won't mention other VCSs that could be
contrasted here, but the differences are certainly there. Getting up and
running
- Perforce is _very_ well documented.
- Perforce is _very_ well supported: should anyone ever need help,
Perforce support is incredibly helpful, polite and _eerily_ rapid to
respond. At this point I should mention that the VCS comparison says
that no support is available for people using Perforce with a free
open-source license. This is indeed "the letter of the law", but the
reality is that Perforce support tries to help everyone on a best-effort
basis. Indeed, the support is so good (I'd never experienced anything
like it, and haven't since) that I'm quite sure the guys who write the
software are the same guys who answer the emails. It's like LLVM support
in that regard. :)
- Perforce is basically idiot-proof. By this I mean that you really
need to know what you're doing to lose/mess up data/configuration.
Perforce is the closest thing out there to a VCS with an "undo button",
as far as I'm aware.
- Perforce is basically bug-free. For every genuine bug an LLVMer finds
in Perforce, I will send him or her a box of chocolates and a
handwritten apology. :)
It's difficult for me to make a strong case that LLVM should switch to
Perforce because I haven't had any problems with the _current_ system,
but if we are to switch, I'd recommend Perforce highly. It does
everything people ever seem to ask of a VCS, and it's quick, easy and
fun to use. Really!
If you has half an hour to burn, visit http://perforce.com , download
the software and have a play. You get "the real thing", the only
difference is that without a license file, you can't create more than
two accounts or workspaces.
Perforce is not the fanciest thing out there, but it's simple and it
works well.
My two yen,
Duraid
P.S. Perhaps a minor point in this era of 400GB hard disks and 2GHz
CPUs, but worth mentioning: Perforce is _FAST_.
More information about the llvm-dev
mailing list