Systems Programming

CS 241, Spring 2014

Submission instructions

All machine problems and homeworks in CS 241 will be submitted through a version repository system called subversion, often abbreviated SVN. SVN is commonly used as part of open source products, used at a number of large corporations, and is one of 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 boxes. However, absolutely any client that "speaks" svn should work.

Setting up SVN

  1. Use SSH to log into any 64-bit linux-based EWS box, such as
  2. Create a directory for your cs241 subverison content. For example:
    netid|linux3|~|[1]% mkdir cs241
    netid|linux3|~|[2]% cd cs241
    netid|linux3|~/cs241|[3]% mkdir svn
    netid|linux3|~/cs241|[4]% cd svn
  3. Check out your CS 241 subversion directory with the following command:
    netid|linux3|~/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 or homework

  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 the following, within your SVN directory:
    netid|linux3|~/cs241/svn/NETID|[6]% svn update
    You can now begin work 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 MP's 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 MP1, it would be the ~/cs241/svn/NETID/mp1 directory):
    netid|linux3|~/cs241/svn/NETID/mp1|[7]% svn commit -m ""
    Committed revision ###.
  3. Once a file has been committed to subversion, it has been submitted. 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. 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 submission will be considered late if the latest commit timestamp is after the due date.

    You can verify your files on subversion via the web. 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.