Christopher2[1]

Chris Doesn't Use Source Code Control...

Although Rule 5 is still in effect, so I can’t discuss my IFComp-submitted work, I’m still working on IF.  I’ve started two new projects which will share a bit of infrastructural code.

This time around, I’m improving my processes.  As a professional software developer, I wouldn’t dream of doing a project at work that didn’t use a source code control system.  In my previous IF work at home, however, I didn’t bother to set one up in the beginning.  While I was just dinking around, it wasn’t a problem.  However, once I got serious about a project, the closer I got to completion the more nerve-wracking it was making changes, for fear I’d blast something and have to laboriously reconstruct it.

Source code control protects you from this single-point-of-failure problem.  With an SCC tool, you check out and check in versions of the source code, so losing your current copy only loses you the changes since your last checkin.  In addition, a centralized SCC gives you a repository, so there are multiple copies of your file in the event of a catastrophic disk failure (of course, you should have a backup strategy as well; that’s orthogonal to the SCC issue).

I resolved that I wasn’t going to walk the tightrope without a net again.  The question then became which SCC system to get.  There are several good choices:  Subversion; Mercurial; Git; and Perforce, to name the top contenders.

I didn’t want to spend any money, but I’m not particularly ideologically wedded to an open source project.  I also use Windows, which affects the types of UIs available for OSS systems like Git, where the primary focus is on Unix-based systems.  What cinched it for me in the end was that Perforce, the system we use at work, apparently offers a free, non-expiring download of a 2-person maximum server, which is full-featured and supports all of their client apps.

I downloaded it and fired it up, and it was perhaps the easiest setup and configuration of a software package I’ve had to date.  No more than 5 minutes and the server was up and running, configured as a service.  3 more minutes and I had P4V running on my development machine and was importing my files.

Everyone has their own taste in SCC, but if you haven’t tried one yet, and if you’re working in a Windows environment, you could do far worse than to use Perforce.