At some point you may have heard your programmer friends talking about a tool called Subversion. What is it? why do you need it and how can it impact your work as a designer?
SVN FOR DSGN
Subversion was started in 2000 as an effort to write a free version control system which operated much like the paid solutions of the time. It is used to maintain current and historical versions of files such as source code, web pages, and documentation. It’s goal is to be a mostly-compatible successor to the widely used Concurrent Versions System (CVS).
But the designer workflow doesn’t ordinarily include subversion, when it could absolutely be used to help keep you organized, efficient and all backed-up.
In short, Subversion keeps track of versions, alterations and updates in files as your work on them. You can also create repositories that can be used to collaborate with friends or colleagues. In a design studio this is critical and it sure beats the hell out of working a file prematurely only to find you need to do everything again because your partner hadn’t actually made any changes yet.
How It Works
The Subversion structure is often referred to as a “three dimensional” filesystem with the added layer of revisions. When you save a file on your computer, unless you duplicate it into a new file, the computer has no way of knowing whether this is the original version of the file or the 63rd. Subversion allows users to monitor changes in real time. It will also allow you to see who’s working on what and who changed what when. In this way it operates very much like a wiki but that’s where it stops. It makes all files in a given directory atomic (meaning either there were changes or there weren’t). This way if you “Check Out” files to work on them but you end up not doing anything, when you check them back in later no changes will be made. If that doesn’t make sense to you now, don’t worry, it will as this tutorial continues.
Most Subversion clients like ZigVersion or SVNX keep files atomic by looking through the file contents to see where files existing on the server begin to differ from the ones being uploaded. This is good because if you need to take notes, you can wait until after your work is complete instead of taking notes as you go. It also means you can always roll back to an earlier version of a file if you stray too far from where you need to be.
Subversion can be a powerful addition to your design workflow and in the next few posts I’ll tell you how to use it, how to integrate it to your work flow and how to set-up a subversion server for your clients!