Tips, Tricks, & Tools

SVN: my favorite software hands down

Back in February, Laura wrote about 10 tools she cannot live without.

I’d like to write about one tool that has changed how we produce work at SEER. SEO audience beware, this has less to do with search and more to do with common problems we all deal with when sharing files between people in an office setting.

If you have more than two authors on your word, excel, or PDF documents, you know how troublesome it can be to control efforts between people. Which is the newest version? Did I remember to email Jane my newest copy?

I almost cannot remember dealing with those problems after using subversion–also known as SVN–for the past few months.

SVN does a few things all on its own:

  • It coordinates file use between multiple parties. All users get their own copy the file. When someone has made changes to their copy, they “commit” them to the server. Everyone else can perform an “update” at any time to get the newest copy of the file. This is the means for preventing work from being overwritten and it also facilitates a means for keeping everyone’s copy up to date.
  • It adds extra management information to each file, independent of the file type. Some of these fields include last author, last modified time, and version number. Version number 100 is newer than version 99.
  • It saves revision history. If someone wants to see a file any number of versions ago, they can download it at any time. SVN is not meant to serve as a backup solution; however, you can use it to peer into the past and watch file progression or go back to a time when your file was correct. For example, if you accidentally delete a paragraph and save, just revert back to the previous version from the repository. No harm is done. Even if you save and commit your changes, you still have the opportunity to revert to any previous copy.
  • It offers detailed documentation. The version numbering is only one aspect of the usefulness of the history; the custom notes that can be added to each commit make it even easier to understand what each version number represents. Imagine searching through a document’s history seeking the version you sent to the client last month when you discover the comment stating, “final copy-sent to client.”

There are necessary ingredients for using SVN as I describe it in terms of solving an inter-office file-sharing problem. Fortunately, I believe just about anyone can use an SVN front end to manage files. Unfortunately, setting it up is definitely not for everyone.

  • A server or some hosted facility to hold repositories for your files. These will probably be accessible over the Internet.
  • A front end software package that makes using SVN as easy as using a Windows Explorer or Finder window. Try rapidsvn or smartsvn.
  • An IT person to put it all together. It might be a good idea to have the IT help conduct training and be available for any problems that may arise.

For those who have used CVS (a more dated version control system):
You’re welcome to stop now. There are programs for converting CVS to SVN repositories. SVN has functionality for moving and renaming directories, where CVS doesn’t. CVS users know how troublesome directory management can be.

Talk about subversion with your IT staff or geeky cousin–I’m under the impression it’s a solution to many problems we all have experienced.