Setting up a Subversion repository on a Windows-based computer

svn1clicksetup.tigris.org

The goal of this project is to simplify the process of setting up a Subversion repository on a Windows-based computer. Svn1ClickSetup takes a user through the steps necessary to install the Subversion command-line utilities and TortoiseSVN, as well as creating a repository and initial project.

I finally bit the bullet and setup a Subversion repository. My needs are pretty simple. I wanted to keep versions of my website changes. At the complexity level that I am working at backups have served my needs well and it is debatable whether a version control system will be a benefit. The costs are primarily the amount of time I am willing to spend and possibly waste on a system I may not use.

I played a little with version control systems in the past, CVS and Subversion, so this will be my first real “needs to work” experience. The problem was that Subversion has two ways of setting up repositories, svnserve and Apache. Apache would have been my first choice since I have it installed via XAMPP. Unfortunately Subversion needs an older version of Apache(2.0). I was just plain uncomfortable with how to setup Subversion using the svnserve method. After a little searching I found this link to automagically setup everything using svnserve. Suddenly setting up Subversion became much simpler.

Since I already had the newest version of the client on my computer, the installation procedure thoughtfully allowed me to skip the client installation step. This installation program installs an older version of Subversion but that is not a big problem. I downloaded the newest version of Subversion and it did a fine job of updating my existing installation. Then I used the TortoiseSVN utility, repo browser, to copy the existing Project1 to a new folder to create my first project with the same directory structure as Project1. With the folder created in the repository I could now import existing data into the trunk folder.

For my directory structure I chose to use customer-subproject format with the modified folders underneath the subproject. I used the same folder names as I use on the website to make sure it is easy to figure out if I do not come back for awhile. As an example I created a folder for my company with a subfolder called blog. Underneath the blog folder I have two folders, plugins and my customized theme folder. These two folders contain all of my customized code for WordPress. As a test I modified some code and used the TortoiseSVN Diff function to see what it said changed. It worked like a champ and pointed out the single change. Best of all the whole process was pretty intuitive. I still haven’t read the manual. This just might work for me.