Ian Bicking: the old part of his blog

Dvcs mini roundup comment 000

Do you want VCS, or DVCS? If you don't need distribution, or can live with a centralized repository with a lightweight network protocal and the ability to work detached, the there's a clear winner that nobody has mentioned yet: Perforce. Yeah, it's commercial. But they'll give free licenses to open source projects. They support more platforms than most OSS projects. Lots of add-on and extras. Lots of flexibility. It doesn't leave turds in your workspace. A command name (p4) that's as short as mercurials.

And the kicker - it's the only VCS I've ever encountered that gives me the kind of control I really want over a merge. After doing merges with perforce, every other VCS feels like I'm throwing my code against the wall, and hoping the right parts stick.

You can make "p4 resolve" act like other VCS merge commands, and merge everything it can and let you deal with conflicts. Or you can get an interactive loop, where you get told about the potential merge, can examine the files, or the automated merge, and choose to use anyone one of those three, or edit any one of those three and use that.

I can - and regularly want to - do things with perforce's merge that are at best very painfull, and in some cases impossible, with other VCS systems. If a VCS can't do the equivalent of "p4 resovle -at", it isn't going to replace perforce for me.

Comment on Re: Dvcs mini roundup comment 000
by Mike Meyer