Subscribe to Rahul's Blog        RSS Feed

What others should learn from Perforce

Icon Leave Comment
I use Perforce from time to time for small hobby projects and if there is one version control system that has impressed me - it is this one. I've used or atleast tried using Subversion, CVS, Component Software RCS, Bazaar, Fossil and Darcs. Out of these I don't think I'm in a position to comment much on CVS, Subversion or Darcs since I've not used them beyond a couple of hours or so.

My experiences with Bazaar were mixed since it worked fine for a long time for me and I usually don't have big repositories, so the oft-repeated criticism of performance was not a problem for me. But after upgrading to a recent released build I found the new GUI they had bundled on the lines of TortoiseSVN and the like was not really release quality (for me atleast) since I kept running into commit issues with it - though they worked smoothly from the command line. I happened to run into Perforce and since their license is liberal for a team of 2 (or less than), and I'm a solitary team of one - why the heck not give it a shot.

And I was blown away by three things - firstly their setup ease-of-use, second the bloat free server and lastly their awesome client UI. Coming from a bad UI experience of bzr, it was a refreshing change to see how P4V (their client UI) worked. It looked polished, something that people thought out, rigorously tested and felt just right. I've never seen a version control system interface that looked so intuitive. All the things in all the right places. If there is one thing the new guns must learn from Perforce, its their commitment to quality. The server code was also pretty responsive and surprisingly bloat free.

Fossil, the new DVCS from the creator of SQLite also promises to be an exciting development. However, I could never really get it running just right according to me. This maybe my fault I admit, however being a small and new project, the docs are sparse. Frustratingly I gave up after a week. Thankfully, Perforce was still running along fine.

Before this starts looking like an advert to you, I *do* have a couple of disappointments with Perforce. Firstly - branching is either not as easy or not as intuitive as I'd like it to be. In a Client-Server model, I found the branching abilities of Subversion to be superior. The second is kinda annoying - if you change the installation folder of Perforce, the new P4V help location still points to the old one, which shows up the HTML help equivalents of 404. If I ever need to look up the help I have to go through the PDF user guide, which is fantastic by the way.

All in all, Perforce is a mighty fine version control system - scalable, stable and intuitive. It would benefit the newer boys in the game to learn from it. Especially with regards to its UI and documentation.

0 Comments On This Entry


Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

Search My Blog

0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)