Subversion

Here is a brief recap on the subject of subversion. Subversion is a version control system. Subversion, and version control systems generally, exist to manage collaborations between software developers working on the same project on different machines more or less at the same time. The main task of a version control system is to maintain a central repository of code (any files, actually) to which all collaborators share access. Furthermore, every time a file is committed to the repository, its current version is permanently saved in a central spot, so one can always go back to it if subsequent changes need to be undone. (Comprehensive documentation for subversion is available in their free online book.)

Version control systems adapt well to computer science coursework, although that may not be their primary intention. In the context of a course, the "collaboration" is between the student and his or her instructors, who share access to the coursework files; students produce the work, and graders grade it, all in the shared repository.

Synchronization between your local files and those in the central repository is not automatic. You must take action to commit your work to the central repository so that others (and you, working on a different machine) can get to it later. This is done through a commit command, instructions for which appear below.

In this course, you will be using the subversion client svn and accessing the server phoenixforge.cs.uchicago.edu.

We will create a subversion repository for every student. Each repository will be shared between you and the course staff. You will store your homework and lab exercises in your repository as you work on them, and the staff will collect your submissions from the repository.

The subversion client, svn, will access the repository through the URL

https://phoenixforge.cs.uchicago.edu
Your personal repository is
https://phoenixforge.cs.uchicago.edu/svn/CNET-course-quarter-year
For example, it might be:
https://phoenixforge.cs.uchicago.edu/svn/CNET-cs152-win-18
with your own CNet ID in place of CNET.

to check out the repository:
svn checkout https://phoenixforge.cs.uchicago.edu/svn/CNET-cs152-win-18
to add a file to the repository (which must be done before committing it):
svn add filename
to commit all of the most recent versions of your files:
svn commit -m "This is what I did!"
to read in files changed by others (e.g. read in the feedback files from us)
svn update