SVN for scivis-2017, using CSIL Macs
TL;DR:
- Log into a CSIL Mac
- Open the iTerm terminal program by clicking on its icon:
![]()
- Copy and paste these commands into the terminal window, answering "p" to any questions about accepting certificates.
curl -O http://people.cs.uchicago.edu/~glk/class/scivis/scivis-setup.sh source scivis-setup.sh- The scivis-setup.sh prints the commands it's running. It ends with "scivis setup done; start working with: cd ...". Copy-paste the cd command into your terminal to get to your repository.
- If you don't know basic svn usage, learn it now.
- We will be using SVN to distribute files to and collect files from students. We use the command-line svn program, rather than a GUI.
- Please read all of the following through once before running any svn commands to create your working copies.
- You are responsible for learning the basics of SVN if you haven't already used it.
- Some basic 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 projects associated with 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 SciVis, you will be dealing with two different “projects”:
- The "scivis-2017" project. This will be used to distribute files (such as pre-compiled 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-scivis-2017", where "CNETID" is your CNetID. You should see your per-student sub-project listed at the "scivis-2017" project (that listing of all students is hidden from anyone outside the class). You will hand in files by adding and committing files to this svn project. For each homework and project, we will create sub-directories within this project for you. You should not create new directories per assignment inside CNETID-scivis-2017.
- The creation of per-student sub-projects within "scivis-2017" 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-scivis-2017" sub-project refer to datasets in the top-level "scivis-2017" project. But we don't want you to copy those files into your sub-project (and then hand in those copies, creating grading hassles).
Note that when using the CSIL Macs, a new home directory is created for you each time you log in, so you will need to re-run these commands each time you start work on a CSIL Mac. You must svn add and svn commit files you create here, or else your work can be lost. For the homework assignments that do not require any programming work, you will be handing in a PDF files, so it doesn't matter where you're running the svn commands; feel free to keep an addition checkout of CNETID-scivis-2017 anywhere there is more persistence to your files.
- We therefore use an environment variable $SCIVIS to identify where you scivis-2017 checkout is. Set $SCIVIS to the full path of your scivis-2017, ending with "scivis-2017".
- The easiest way to set this up is to create a directory that you'll use for for SciVis coding, such as with:
And thenmkdir scivis-workOnce you are in scivis-work or whatever directory you will use to contain your SciVis coding, you run the following two svn checkout commands; first:cd scivis-workand second, after replacing "CNETID" with your CNetID:svn checkout https://phoenixforge.cs.uchicago.edu/svn/scivis-2017/ pushd . cd scivis-2017 export SCIVIS=`pwd` cd teem-install/bin export PATH=`pwd`:${PATH} popdsvn checkout https://phoenixforge.cs.uchicago.edu/svn/CNETID-scivis-2017/- The above commands have been collected into a script: scivis-setup.sh. After you log into a CSIL Mac, you can download and run this with:
It's not ./scivis-setup.sh, because we want the script to set the SCIVIS and PATH environment variables of your current shell.curl -O http://people.cs.uchicago.edu/~glk/class/scivis/scivis-setup.sh source scivis-setup.sh- 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 the scivis-2017 project, the only command you'll ever need is
svn update- For your CNETID-scivis-2017 project, you'll need:
to see files that we distribute to you (typically stubs or templates for the files you'll have to edit further). You'll hear on the mailing list when you have to do this. To add (hand-in) file X, you'll first need to dosvn updateonce, and then for all subsequent updates to X,svn add XTo see if you have local uncommitted changes, run:svn commit XThis 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- 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 subproject is a web-based view of the SVN repository: https://phoenixforge.cs.uchicago.edu/projects/CNETID-scivis-2017/repository, but that URL won't actually work until you replace CNETID with your CNetID.