- Some SVN tutorials are here, here, and here.
- You can search for svn tutorial and svn introduction to find others.
- The canonical reference is the SVN book here, which includes HTML and PDF versions; you might want to start with Chapter 1.
- We will use Phoenixforge to manage the SVN repositories in the class. Authentication on Phoenixforge, and with the svn commands that connect to it, is with your University CNetID and its password.
- As a student in cs239, you will be dealing with two different projects:
(“project” is Phoenixforge terminology for an organizational layer on top
of an SVN repository, or "repo").
- The "datavis17" project. This will be used to distribute canonical files (such as libraries and datasets) to you. You won't be able to modify these files (or more precisely, you won't be able to commit any local changes you make to these files).
- A per-student sub-project named "CNETID-datavis17", where "CNETID" is your CNetID. You should see your per-student sub-project listed at the "datavis17" project (that listing of all students is not visible to anyone outside the class). You hand in work by adding and committing files to this svn repo. For each homework and project, we will create sub-directories within this project for you. You should not create new per-assignment directories inside CNETID-datavis17.
- The creation of per-student sub-projects within "datavis17" is done automatically, once a night, based on the electronically accessible course registration information at that time. Therefore, it may take one or possibly two days for you to show up here, if you have registered for the class recently. Post a question in the “svn” folder on Piazza if you are having problems.
- We want to allow code in your per-student
"CNETID-datavis17" refer to canonical files in
the general "datavis17" for the whole class, rather than having
you copy (and perhaps accidentally modify) those files.
We therefore want you to maintain side-by-side checkouts of
CNETID-datavis17 and datavis17.
On whatever computer where you'll be doing class work, use a terminal window
to get into (by cd) whatever directory you want to use for work in cs239.
And then run these two commands ("svn co" is a synonym for
"svn checkout")
HOWEVER on that last command, you need to replace CNETID with your CNetID (or else you'll see "Unable to connect to a repository" and "Unexpected server error" error messages). The first command should create a datavis17 subdirectory, and the second creates a CNETID-datavis17 subdirectory containing your new checkouts of those two repositories.svn co https://phoenixforge.cs.uchicago.edu/svn/datavis17/ svn co https://phoenixforge.cs.uchicago.edu/svn/CNETID-datavis17/
NOTE: If you are doing class work on a CSIL Mac, a new home directory is created for you each time you log in, so you will need to re-run the svn co commands each time you start work. You must svn add and svn commit new files you create, or svn commit any files you modify, or else your work can be lost.
- From then on you really only need to know three or four svn commands. You
execute these commands from within the directories created by the svn co
commands above.
- For datavis17, the only command you'll ever need is
svn update
- For your own CNETID-datavis17, you use
to get the per-assignment directories we create for you, and other per-assignment files we distribute (typically stubs or templates for the files you'll have to edit further). To hand-in file X, if an initial version was not already distributed to you, you need to firstsvn update
once, and then for all subsequent updates to X,svn add X
To see if you have local uncommitted changes, run:svn commit -m "descriptive message here" X
This lists files that have uncommitted changes (marked with an "M"), and files that have not been added or committed (marked with a "?"), called "untracked" files in SVN.svn status
- For datavis17, the only command you'll ever need is
- Because svn commit is how you are handing in your work, be
careful with it. Its proper use is your responsibility. In particular:
- If you haven't done an svn add and svn commit, it hasn't been handed in. Use svn status to see uncommitted changes and untracked files. Make sure that you have done an svn add on all the files you want to hand in.
- You should double check that the files you think you have handed in, have really been handed in. Associated with every per-student project is a web-based view of the SVN repo: https://phoenixforge.cs.uchicago.edu/projects/CNETID-datavis17/repository, but that URL won't actually work until you replace CNETID with your CNetID.
- To make this simpler, the directories in your individual CNETID-datavis17 will include a 00-checkme.html file that contains a link to a Phoenixforge web page showing the actual contents of that directory, on the SVN server. Use this link to confirm what we will get we collect your work for grading, and to ensure that you have not submitted an empty ("0 Bytes") file by accident.