Review of VisualSVN SubVersion Control Server
So today we’re checking out something especially geeky, the VisualSVN SubVersion Control Server. Yeah, that’s a mouthful, isn’t it? For most folks, this is something you’ll never, ever use. However, if you’re a person who develops, say, software-or artwork-or games, then this will be of interest to you. There’s a lot of Version Control software out there, and believe me I’ve looked at a lot of it lately. But most of it has a problem that prevents it from being accessible to the average user: most of it runs on Linux. Now, Linux software is all well and good, and there’s very little negative I’d ever say about Linux overall. However, the reality remains that for the average user-who by this point has used Windows of one flavor or another for most of their computing life-Linux just isn’t very friendly. As a rule this won’t matter because people who need version control can often afford to hire an engineer who understands Linux just fine, or they may be savvy enough to sort it out on their own. This software, indeed this review, is not for you.
Who this software is for, is the small time developer of something, whether it’s code or art or whatever, who needs version control but doesn’t have a huge budget or a lot of time to spend learning the ins and outs of Linux. This is version control that you can install on Windows in 5 minutes, have it configured in 10, and be using it in 20 (the extra 10 is because you will need to install Tortoise SVN on your client PC and reboot, then configure it to Check Out your repository). If you’re unfamiliar (and I was until a few days ago), what this software does is it runs on a server that your team then connect to via client software on their PC’s. The clients each sync to and from the server, and as changes are made to the files in your project everyone is kept up to date on the latest project files with their own local copy. When they’ve made changes, they sync back to the server and the rest of the team will get their changes next time they sync.
In addition to just keeping everyone on the same page, VisualSVN SubVersion Control Server also keeps track of different versions of the files in the repository. This is useful when, for example, I’m working on a file and I screw it up but don’t realize that until I’ve already synced to the server. With the SVN server, I can go back to a previous version of that file very easily and redo my work without the mistake in tow and without having to start the file over from scratch. This saves me individually and the team collectively a boatload of time and effort that might otherwise be wasted redoing work as the result of small mistakes.
But wait…there’s more! Beyond the simple fact that your team is now saving time and effort and keeping up to date with the latest and greatest files, there’s another benefit. That benefit is simple: if the server crashes and there’s no backup…you’ve got backups of project data on every person’s PC. If you haven’t backed up your server, of course, shame on you. Bad panda! But lucky for you, the rest of the team’s PC’s save your ass. Heck, even if you’re one person, setup your home PC with an SVN server and your laptop (or work PC if you can get away with it!) with the client so you can stay synced and backed up on the go!
VisualSVN’s client software will integrate directly with Microsoft Visual Studio, though be warned: the client app is not free, only the server is (and how weird is that?). Even so, you can use any SubVersion compatible client to access the VisualSVN repositories from a client PC and sync both up and down with ease. The software further runs with such a light footprint that you can easily run it in a Virtual Machine under VMWare, MS Virtual Server, VirtualBox or any of the other tools out there for virtualization (and we’ll be covering some of these very soon). For your ease and comfort I’m including a link to the free TortoiseSVN client below, which you can use with VisualSVN at no charge.
If you’re in the market for a Version Control System for your team’s project but you don’t have a lot of cash, consider VisualSVN. It’s an excellent product that does a single job, and it does it very well. Please do remember that you need BOTH the Server and the Client below to make use of this product.
Final Judgment: Highly recommended for small development teams on a budget.