Apache Subversion is one of the world’s most popular version control systems, and it’s easy to see why: it’s an established open source solution with a vibrant community of contributors and users, and professional support options for users who need some extra help with their Subversion installation. Now, thanks to easy-to-use client applications such as TortoiseSVN, and transparent tools such as uberSVN, even non-coders can reap the benefits of Apache Subversion. Subversion is an invaluable tool for bringing version control to projects with practically any contents – text documents, graphics, and more. In this tutorial, we’ll look at how to use Subversion to manage a project consisting of word documents – without writing a single line of code.
One of the easiest ways to get started with code-free Subversion, is to use uberSVN, the free, open ALM platform for Subversion, alongside the Windows TortoiseSVN client. Both of these products can be downloaded and used for free. This tutorial requires both to be installed. See our posts on installing uberSVN and TortoiseSVN, for walkthroughs of the installation process.
1) Once you have both uberSVN and TorotiseSVN installed, the first step is to create a repository. The easiest way to create a repository, is through uberSVN. Simply click on the ‘Repositories’ tab and select ‘Add.’
2) Enter a name for your repository and click ‘Next.’
3) Make sure the ‘create trunk, branches and tags directories’ option is ticked, and click ‘Done.’
4) On the next page, select who has read and write permissions for the repository, and specify whether you wish to use an Alternative Authz File. When you have finished, click ‘Save.’ You have now successfully created your repository.
5) Go into the ‘Repositories’ tab of uberSVN and take note of the repository’s URL. You will need this when checking out your working copy.
6) The next step is to checkout a working copy. Go to the file or folder where you wish to create your working copy, right-click and select ‘SVN Checkout.’
7) In the checkout dialog, enter the URL of the repository you just created, and click ‘Ok.’
8 ) You will see the following message, informing you of a successful checkout. Click ‘Ok.’
9) You will notice a new ‘Repository’ folder has been added to your hard drive.
10) Inside this new ‘Repository’ folder, you will find three more folders: ‘trunk’ ‘tags’ and ‘branches.’
11) Now you are ready to make some changes to your working copy. In this example, we will add some new text documents. Create your text documents as normal, or drag and drop existing files into your working copy. You will end up with something that looks like this:
12) You will need to add these files to Subversion before it places them under version control. This is made easy with TortoiseSVN: simply right-click on each file, select the ‘TortoiseSVN’ menu, and then click ‘Add’.
13) You will notice the ? symbols have now been replaced with + This means they have successfully been added to TortoiseSVN.
14) You will need to commit your changes before they appear in the repository. To perform a commit, simply right-click and select ‘SVN Commit’ from the Windows context menu.
15) At this point, it is good practice to enter a log message. When you have finished, click ‘Ok.’
16) If the commit is successful, you will see a confirmation message. Click ‘Ok.’ You have now successfully committed your changes to the repository.
17) If you explore your repository in the ‘Browse’ tab of uberSVN, you will see your new text files have been added.
18) Another essential feature of Subversion, is the ‘SVN Update’ command. This command should be run regularly, to ensure other team members’ commits are incorporated into your working copy. This reduces the chances of encountering merge conflicts when you’re committing back to the repository. To run ‘SVN Update,’ right-click on your working copy, and select the ‘SVN Update’ option.
19) You will see the following message, informing you that the commit has been successful.
20) Now, you can continue making changes to your working copy, and committing those changes back to the repository, while performing regular ‘SVN Update’s to reduce the chances of encountering a merge conflict – all with no coding required!