If you’ve worked with a version control system then you know how powerful that tool can be. I work with such a system at my job every day where we have dedicated system administrators to keep it running. Having such a tool available for my VST development projects at home is very valuable but I find system administration to be a task I am not cut out for. That being the case, I searched for some easy to use tools that would allow me to get version control running on my Windows box at home without too much hassle or deep configuration. The two tools I was interested in choosing between were Git and Subversion. Here’s what I found.
Subversion is a common developer favorite program due to its ease of use and more advanced (and stable) functionality than the stalward CVS. SVN has been around long enough that there are some mature client tools to choose from on the Windows platform but there are not many mature one-click solutions available for hosting your own repository. After searching for a while I found a few possibilities. One was called “1 click SVN hosting for Windows” and was hosted directly at the Tigris website, but I found its implementation lacking. It still required some very sysadmin style tasks to set up user access and repositories. It also relies heavily on trying to get you using TortoiseSVN which I am not a fan of. After a bit more research I also came across Visual SVN Server. This package includes everything necessary to set up your SVN host (the SVN package itself and an Apache server). The biggest benefit of VisualSVN is the inclusion of a GUI driven admin utility for configuring your repositories and user accounts. As an added bonus, there is no pressure into using TortoiseSVN for anything! To answer the question before it gets asked, my SVN client of choice is Syntevo’s SmartSVN. I was up and running with VisualSVN in about five minutes (including setting up my first repo and doing the initial file commit!).
Git is a lesser known alternative for version control but has some highly advanced features. It was designed from the ground up to be developer friendly in every way. The main drawback of Git is the lack of mature tools for the Windows platform. There are a few different sites providing some tools and instructions for Git on Windows but I favored this one the most. The tool will install a lightweight cygwin shell and all the necessary bits to get your Git repos set up and running.
My initial experience with Git was like having my eyes opened for the first time. However, the honeymoon ended after about a week as the lack of advanced, gui-driven client tools made it difficult to perform some daily development tasks. I ended up going back to Subversion since I’d rather focus on VST plugin development than learning a new set of command line tools. I hope this article will be helpful to you in setting up some basic version control to make your VST plugin development a bit easier!