Perforce

During the primordial days of Stolen Notebook we decided that Subversion would be our source code management system (instead of CVS). Stolen Notebook was all but founded on Subversion. Atomic commits, the freedom to move files and directories, and global version numbers! What more could we want?

It’s hard to know what you want until you’re given it.

During programming SIG at IGDA Madison in November, Perforce was the hot topic in source control. However, at $800 per client we had some excuse for not having tried it.

Someone at Human Head discussed how they had been testing various systems for source control including Perforce and SVN. He thought Perforce and SVN were both excellent choices but Perforce won out because of it’s speed. He mentioned that Perforce is free for two clients, so there was no reason not to try it.

Over the Holidays Tony setup our server with Perforce and modified Trac to browse Perforce. I started using Perforce after I got back from the Holidays. It’s great. Combined with the Perforce SCC plugin for Visual Studio I can do all my coding, updating and checking in within the IDE. The perforce client also has loads of useful information at hand, including what other users have checked out and are working on. It’s a very powerful tool for project management.

Perforce is fast
Subversion used to take 5-10 minutes to checkout the Catharsis source code (about 150Mb). With Perforce it takes about 20 seconds. At one point we had source assets in SVN which took nearly an hour to check in and out. Perforce allows us to have our assets versioned along with source code without long checkout and update times.

Perforce is best on a LAN
The way perforce operates means that clients have to be in constant contact with the server. When a client opens a file for editing the perforce server is told. This is cool because it allows clients to see what files other users are working on. With SVN most communication with the server is done during checkout, update, or checkin. Subversion is great for use on the Internet but Perforce dominates the office. Make sure your internal network is secure, though, because Perforce itself isn’t very secure.

Perforce makes developers happy
So far I have been extremely happy with Perforce on the user end. I’ve heard from Tony that server side there are a few things that make you wonder what the Perforce guys where thinking (plain text passwords come to mind). Thankfully, they are not impossible to work out and the increased boost in productivity makes it well worth it.

Leave a Reply