Peterb,
Good Tools Are Worth Paying For:
Wow, imagine that -- people failed to realize that their version control system didn't actually control versions of the files they were working on.
I've used
Perforce for about a week now at a client. It seems really, really good; only one user I've spoken with online has had anything negative to say about it all.
However, I have to say that the user experience leaves a little bit to be desired. With CVS, it's much easier to see what's different on my local disk versus the repository;
p4 sync isn't quite equivalent to
cvs update -dP in that way. What's more, I have to do a
p4 edit on files before modifying them, which is just a pain. And finally, there's no
CVL for Perforce. There are a couple graphical clients,
P4V from Perforce and
P4Cocoa from Jeff Argast. I can't use P4V because I have to use the Darwin version of Perforce for this project, and I have yet to really take P4Cocoa for a spin.
Plus the Xcode integration may as well not exist. That may be related to my use of the Darwin P4 client rather than the Mac OS X P4 client. The difference is that Mac OS X P4 manages file types and creators, tracks resource forks, and (this is the important part) uses the HFS+ "immutable" bit to lock files that aren't being edited. Darwin P4, on the other hand, is pretty much a straight port of the Unix P4 client and uses permission bits instead. I could see this confusing Xcode, even though the Xcode release notes claim it calls P4 for everything.