Skip to main content.

This page’s menu:

Subversion Tutorial

Subversion is an open source revision control software which is designed to be a modern replacement of CVS. This tutorial describes how to setup a SVN repository in a Linux/Unix machine, how to checkout/import modules, update/commit changes to the repository under Windows/Linux. Some examples specific for UBC CS users are also provided.

Quick Start

  1. Create a SVN reposity
    SVN is only available in Linux machines in our department now. Hence, you have to first ssh to a Linux machine (e.g. okanagan). You can use the following commands to create a SVN repository:
    svnadmin create --fs-type fsfs [repository name]
    For example, suppose you are in /lci, you can create a repository in /lci/svnroot by using
    svnadmin create --fs-type fsfs svnroot

Windows

  1. Install TortoiseSVN
    The first step is to have a SVN client software. The following tutorial is using TortoiseSVN, which is an open source SVN client. TortoiseSVN can be downloaded from http://tortoisesvn.sourceforge.net/.
  2. Setup SSH client
    The first step is to setup the ssh client. From the pop-up menu of the File Manager, select TortoiseSVN Setting -> Networks -> SSH and set ssh client to TortoisePlink.exe, which comes together with TortoiseSVN (It is usually in C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe).

    You can add two additional arguments after TortoisePlink.exe to avoid entering your username and password everytime:
    C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l username -pw password
  3. Import a new module
    Select a folder that you want to import, e.g. C:\toolbox. From the pop-up menu, select TortoiseSVN -> Import, and set URL or Repository to:
    svn+ssh://remote.cs.ubc.ca/lci/svnroot/toolbox
  4. Checkout a module
    From the pop-up menu of the File Manager, select TortoiseSVN -> Checkout.
    URL or Repository: svn+ssh://remote.cs.ubc.ca/lci/svnroot/toolbox
    Folder: D:\toolbox.
  5. Commit changes to the repository
    From the pop-up menu of the File Manager, select TortoiseSVN -> Commit.
The manual of TortoiseSVN is available in here.

Linux

Currently, SVN is only installed on Linux machines. Therefore, before using svn, you have to ssh to one of the linux machine in our department first (e.g. okanagan).

  1. Checkout a module
    Suppose you want to checkout module toolbox and your work directory is ./toolbox, use the command
    svn checkout file:///lci/svnroot/toolbox toolbox
  2. Import a new module
    Suppose you want to import a new module test and the files are hosted in ./test, use the command
    svn import test file:///lci/svnroot/test --message "any message"
  3. Check the status of files in the working directory
    You can use the following command to check the status of files in the working directory:
    svn status [--verbose]
  4. Commit changes to the repository
    To commit changes to the repository, just enter your working directory and type:
    svn commit
You can read the e-book Version control with Subversion for more information.