Please, for the love of Pete, use version control

When I started my development career back in 1988 one of the best pieces of advice I've ever received came from a very small indie shop called Burton Systems Software. His advice was simple, "I don't care whose version control system you use, but you NEED to use one." Dave Burton, the proprietor of Burton Systems, makes his living writing a version control system called TLIB. Needless to say, we purchased TLIB, and the rest is history.

Duct Tape, fixer of all things!Look, if you're doing any type of development; web, desktop, or whatever, and it's text based and constantly changing, you NEED to use a version control system. There are plenty on the market. Everything from free to paid, and they all have their plusses and minuses.

My two cents

For my "money" I like Subversion, commonly referred to as SVN. The cool kids are using distributed version control systems, like Git, Mercurial and Bazarr, but in the end they're just another version control system. My take on Git is this, it's good if you're working with an open source project and exchanging patches, or working disconnected with your laptop. Beyond that I just don't see much advantage in these over existing systems. But, please feel free to leave comments, educate me.

Where do I keep this stuff?

Putting your work in the cloud. Ooooohhh, the buzzword of the year. Yes, you can of course keep this stuff wherever you'd like. A lot of companies with their own servers keep their source repositories on the corporate network.

There are other options of course. If you have someone hosting your domain chances are they have Subversion support, and if you don't mind wearing an administrator hat they're quite easy to manage.

The ultimate choice, of course, is to use a company that takes care of your repositories. If you have an open source project you can keep your code at Google, that's nice, and free. If you have a commercial product and don't mind spending a few bucks you can host your code on services like Beanstalk for Subversion repositories, or give GitHub a try if you're using Git. Both Beanstalk and Git have a nice pricing structure, that include free repositories with some restrictions.

Religious Wars

Version control is another one of those religious things in software development, so go compare the features, find one that works for you and use it. There's nothing worse than having a hard drive fail and seeing all your work disappear.

Labels: ,

About this entry