For folks unfamiliar with svn, here's a basic introduction to the command-line interface.  There are a number of GUI clients for svn as well e.g., http://tortoisesvn.net or Eclipse.  I also found a set of tutorial slides for svn at http://www.ling.ohio-state.edu/~scott/talks/svntutorial/lcc_subversion_tutorial.pdf.  Let me know if you have any problems.  You will be prompted for the password for your Rice guest netid when running many of these commands.

[Acknowledgment: this basic introduction was adapted from http://www.cs.helsinki.fi/group/propipe/svn.html]

STEP 0: CONFIRMING ACCESS

Please go to https://svn.rice.edu/r/parsoft/ASCAC/ to confirm that you can access the repository.  (Provide your netid and password.)  If you cannot access the repository, then there's no point trying any of the later steps.

STEP 1: CHECKING OUT THE SVN REPOSITORY

svn co https://svn.rice.edu/r/parsoft/ASCAC/report --username netid

co stands for checkout. This copy creates a local copy of the svn repository as a subdirectory named "report" wherever you issue the command. This is a one-time setup command.  Please enter your Rice netid after --username.

STEP 2: REFRESHING YOUR COPY OF TEH SVN REPOSITORY

cd report
svn update

The "svn update" command in the report/ directory ensures that you have the latest copy of the repository with changes committed by others.  svn uses a commit-number to refer to revisions.  This capability enables us to revert any fiel to a prior version if needed.

It is possible that you may get an error message if you modified a file locally that was committed by someone else.  This situation is called a conflict.  svn will first try to perform a merge to resolve the conflict.  (It will print a "G" against each file where it succeeded.)  Otherwise, the simplest way to deal with a conflict is to move your copy of the conflicting file outside your local svn directory, and then re-try the "svn update" command in the report/ directory.

STEP 3: COMMITTING A FILE TO THE SVN REPOSITORY

svn commit -m "MESSAGE" file-list

This command attempts to update the svn repository with the local copies of the files in "file-list".  It is required to provide a MESSAGE with this command.  The message can be any string that you like, but it helps for it to be descriptive e.g., a succinct summary of the change being committed.

As with update, a commit command may also result in a conflict.  This happens if our original copy of a file has become "stale" i.e., updated in the repository after we checked it out.  As before, the simplest way is to move the conflicting file elsewhere, and perform a "svn update" command in report/

STEP 4: ADDING NEW FILES

svn add file-list

This command can be used to create new files when needed e.g., a new file for a figure or for a section/subsection/appendix. 

 "svn add" is a one-time setup for a given file.  It adds these files to version control, but does not commit them. You'll need to perform a separate commit as in STEP 3.
