Process for setting up an SVN repository for online submission of the course assignments:

1. Students create their repositories if they don't have them at https://svn.cs.dal.ca
The repository URL will be: https://svn.cs.dal.ca/<student> where <student> is the student's CS user name

2. Students create the SVN path in their repositories where coursework will be stored
The path for this course is https://svn.cs.dal.ca/<student>/csci3151
Student will be "eem" in the following examples.

3. Tech staff will then grant the instructor access to all of the students' work in that path.

For more information on SVN, read Prof. McAllister's article and consult the SVN documentation at http://svnbook.red-bean.com/
The SVN FAQ is at http://subversion.apache.org/faq.html

How to upload assignments to the SVN repository?

You need an SVN client on your machine. TortoiseSVN is a nice graphical Windows SVN client extension to Windows Explorer.
- Download and install TortoiseSVN on your machine.
- Create an empty folder a2 on your machine for assignment 2,
- Click right on a2 in Windows Explorer. TortoiseSVN => Create Repository here
- Use the Repo browser to create a directory a2 within directory csci3151 in your repository
(click right on the local directory a2, select Repo browser, enter the server top-level URL https://svn.cs.dal.ca/eem)
Set the URL to https://svn.cs.dal.ca/eem/csci3151 ; click right on it in the lower left pane ; Create Folder ; a2
- Click right on a2 and select SVN checkout. In the window that pops up, select the URL https://svn.cs.dal.ca/eem/csci3151/a2 and checkout directory C:\....\a2 and OK. Click Yes in the warning "target folder not empty".
- Look for the inner local folder a2 (inside the versioned a2 created by the checkout) and move local file a2.pdf (your assignment) into it.
- Click right on a2.pdf and select "Add". This schedules the local file to be added to the repository, but does not transfer it to the SVN server.
- Click right on a2 and select "SVN Commit". OK in the pop up window.
This will transfer the contents of local folder a2, that have been scheduled for adding, to the SVN repository on the server.
You can confirm this by using the Repo browser.

If you update a2.pdf on your machine, you should upload the updated version to the SVN repository on the server, by clicking right on folder a2 and selecting "SVN Commit".

If a2 is a group assignment, you can use SVN to edit the source file (e.g. a2.tex) concurrently with other group members, as follows:
If you update a2.tex on your machine, you should upload the updated version to the SVN repository on the server, by clicking right on folder a2 or file a2.tex and selecting first "SVN Update" and then "SVN Commit".
The update will reconcile the local version with the server version (which could be different from the version you edited if another group member has made changes in the meanwhile). The commit will upload the file to the server as a new version. The previous versions are still available.
If the changes are too large and overlapping exists between the modified parts of the server and the local version of a2.tex, a conlict may be declared, which would have to be resolved manually. Note that a2.pdf will always give a conflict, so ignore it, and focus on a2.tex

The icon overlays are explained in TortoiseSVN help >Daily Use Guide>Getting Started>Icon Overlays.

To delete files and folders from a repository, use the delete operation of TortoiseSVN, not the Windows Explorer delete.

To delete an entire repository, go to the repo browser and delete it on the server, then delete the checked files and folder on the local machine using TortoiseSVN => delete, then regular delete the local repository.