Subversion (also referred to as SVN) is an open-source revision control system. Subversion tracks changes to files and folders, and keeps copies of all revisions, or versions, of your files and folders. Subversion allows you to retrieve at any time older versions of your files and folder. And because subversions keeps copies of all revisions of your files separate from the copy you’re currently working with, there’s an element of a backup system to it. Subversion can work across a network, with more than one user as well, and can help manage the situation where many users may be modifying the same file. Subversion can help manage any conflicts that may arise when more than one users makes changes to the same file.
For this tutorial we are going to start with the basics. We will assume that there is only one user, and we won’t deal with Subversion being used across a network. We are also going to focus on one particular Subversion program, TortoiseSVN. TortoiseSVN is an open-source windows implementation of a Subversion client program.
A few weeks ago I finally made the upgrade jump from WordPress version 2.5.1 to version 2.6.2. I skipped the versions in between because while I haven’t got a lot of experience upgrading WordPress, from what experience I have had it has usually been a pain. Especially if I’ve done any kind of customization (which I have).
So when I did make the jump to 2.6.2 I resolved to do it in such a way that any future upgrades would be easy. So what’s the obvious solution to the problem of controlling versions? Version control, of course! I am a big Subversion user and luckily the creators of WordPress are Subversion users too!
What is AnkhSVN? It’s a Subversion source control provider for Visual Studio. It allows you to use Subversion for version control in Visual Studio rather than something like Visual SourceSafe. It’s also open-source and free.
I can just hear some people saying “I’ve tried AnkhSVN. It sucks. VisualSVN is the closest you can get to working Subversion / Visual Studio integration”. I can even hear a few people saying “They both suck. Who needs IDE integration anyway. TortoiseSVN from Windows Explorer is just fine”.
I have shared both of these views at various points in the last few years. But today I discovered and tried AnkhSVN 2.0! Huge difference! The new version is a nearly complete rewrite. It’s no longer an add-in, it’s own a proper SCC provider.
Do yourself a favour and give it a try before you drop any money on VisualSVN.