CS 241 Spring 2009
System Programming



9-9:50am MWF

1404 Siebel Center for Computer Science



Hand-in Instructions

Machine Problems (MPs):

All machine problems in CS 241 will be turned in through a version repository system called subversion (often abbreviated SVN). SVN is used on almost all major open source products, used at a number of large corporation, and is the most widely used open-source version control system available today. If you're interested in finding out more about SVN, the Wikipedia article is a good start.

There are a wide number of SVN clients on the Internet. The only client that will be officially supported by the CS 241 staff is the command line `svn` client provided on the csil-linux-ts1 and csil-linux-ts2 boxes. However, absolutely any client that "speaks" svn will be able to work.

Setting up SVN

  1. Log into any linux-based CS box via SSH (ex:
  2. Create a directory for your cs241 subverison content. For example:
    netid|csil-linux-ts1|~|[1]% mkdir cs241
    netid|csil-linux-ts1|~|[2]% cd cs241
    netid|csil-linux-ts1|~/cs241|[3]% mkdir svn
    netid|csil-linux-ts1|~/cs241|[4]% cd svn
  3. Check out your CS 241 subversion directory with the following command:
    netid|csil-linux-ts1|~/cs241/svn|[5]% svn checkout
    Authentication realm: <> UIUC Active Directory
    Password for 'netid':
    Checked out revision ###.
    ... be sure to replace NETID with your UIUC NetID. The password required to access your subverison is your Active Directory (AD) password.
  4. At this time, you have a local copy of the latest contents of inside your home directory. You can now locally modify these files and work on completing your MP or homework.

Submitting your MP

  1. Before beginning to work on an MP, it's a good idea to always get the latest changes from the SVN server. To update your local view, all you need to do is run:
    netid|csil-linux-ts1|~/cs241/svn|[6]% svn update
    ... you can now begin to wron on your MP. Notice that all the files included with the MP are already in your svn, so it should not be necessary to add any files. In fact, do not add any files unless it is directly written you are allowed to in the README. Doing so may result in your program not compiling with the autograder.
  2. Once you have made any changes and are ready to upload them back to the subversion server, run the following command from the active directory of your subverison (for SMP1, it would be the ~/cs241/svn/smp1 directory):
    netid|csil-linux-ts1|~/cs241/svn/smp1|[7]% svn commit -m ""
    Committed revision ###.
    ... you may commit your MP as many times as you'd like. It's a great way to 'save' the work you've done so far. We will use the last submission you made before the deadline for the MP when we grade your MP.
  3. Once a file has been committed to subversion, it has been submitted. You can verify the files on subversion by viewing your subversion though a browser by going to the following URL: (remember to replace NETID with your UIUC NetID). A file cannot be graded if it has not been committed. Failure to commit a file on time will result in your MP being considered late. It is your responsibility to ensure all your work is committed by the due date.

    We will grade your latest version of the file that you have placed on subversion. Therefore, you may commit your MP as many times as you wish. However, the time of your submission will be based off your latest submission. Do not submit newer version of a previous MP unless you want to replace your previous submission! The latest timestamp will be used in the grading process and your turnin will be considered late if the latest commit timestamp is after the due date.


Updated: August 20, 2007