[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