Using Subversion

Version Control Software Concepts

Version control software is used by teams of professional programmers for centralized storage of source code, simplification of team development, keeping track of changes, etc. Subversion is a particular version control system. In this course Subversion is used for lab assignment submission and grading. Subversion stores the projects in a centralized repository. From this repository the projects can be checked out, i.e. copied to local machine. Then, modifications can be made locally. After modifying the project, it can be committed, i.e. put back in the subversion repository. This manipulation is done with a subversion client software.

Once in the repository, the project files can be viewed on the web with a regular web-browser. This is a common way of verifying that the assignment submission was successful. The repository contents is referred to using URLs similar to web-pages.

Subversion for CSI

For this course each individual student is going to use his/her own subversion repository. The repository URL is

Replace SECTION and USERNAME with your (three digit) lab section and your username (your flashline login).

Using TortoiseSVN

TortoiseSVN is a standalone subversion client used in this class. To check a project out or commit a project, in Windows Explorer, right-click and select TortoiseSVN and then Repo-Browser. This launches a subversion repository browser. To connect to the repository you have to specify the repository URL and then your CS login name and password. Once connected you can move the files and directories between the repository and windows explorer by dragging-and-dropping them. Once you commit the files to the repository, TortoiseSVN asks you to provide a one-line textual comment that will accompany you commit. Make it meaningful. For example: checking in Project 1

Note that Microsoft Visual Studio usually saves the projects in C:\Users\USERNAME\Documents\Visual Studio RELEASE\Projects Where RELEASE is the visual studio release (for example 2012) and USERNAME is the name of the local user. On lab machines the user name is student.

If you need to resume the work on your project on a different machine. For example, if you have not finished your project during the lab time and want to continue working on it at home. You will need to check in the project in the lab and then check it out at home. The procedure is as follows: