Introduction
The course staff provides a Subversion (SVN) repository for students currently enrolled in comp527. (If you've never used Subversion before, or need help using it from your Owlnet UNIX login, you might take a look at the comp314 svn tutorial.)
Your credentials for accessing the server are the username and password you provided in our enrollment survey. The repository URL is:
https://sys.cs.rice.edu/repos/comp527/f06/
Use of svn in class projects
Hack-A-Vote
The official Hack-A-Vote⢠source code (see VotingProject) will be posted in the repository here:
https://sys.cs.rice.edu/repos/comp527/f06/projects/hackavote/official/trunk/
You also have a team directory already created for you at ...hackavote/teams/NN (where NN is your team's number). Rather than create the trunk, tags, and branches subdirectories that are standard for Subversion repositories, we've done something a little different. You have these subdirectories:
submit/ - You will use this directory to turn your project in (as described on the VotingProject page).
work/ - Use this for whatever you want (presumably, working on Java code together).
To get started, copy (using svn cp, not a plain filesystem copy) the official code somewhere underneath your work directory. Example script:
$ cd my/path/to/f06/projects/hackavote $ svn cp official/trunk teams/NN/work/code $ svn commit -m "Copy the official source to our 'code' directory; we'll start working there."
(If you're a Subversion pro, you're welcome to set up {tags,branches,trunk} underneath work; we don't care.) Now your filesystem should look like this:
... projects/ hackavote/ official/ <-- original Hack-A-Vote sources trunk/ Foo.java teams/ NN/ <-- this is your team's directory work/ <-- your workspace code/ Foo.java <-- your own copy of Foo, to hack as you please submit/ <-- nothing here, yet
From here, you should be able to make changes to your own copy of the Hack-A-Vote Java source code. No one else in the class can see your team's directory, so please feel free to commit your evil changes early and often.
Turning in Phase I
Since we want you to be able to exactly customize the files your victims customers see, you should use svn export to get a clean copy of your source code. Package it with any other documentation you'd like your customer to see (do not include documentation of your hack!) in a zipfile or tarball and add it to the submit directory.
$ cd projects/hackavote/teams/NN $ svn export work/code submit/hackavote $ cd submit/ ... make any other changes to the files in hackavote/ to prepare it for turnin ... $ tar -czvf hackavote.tar.gz hackavote $ svn add hackavote.tar.gz
Go ahead and toss your documentation for us into submit/ as well, and then svn commit the whole thing. It should look like:
teams/ NN/ submit/ hackavote.tar.gz <-- this will be sent to other teams in Phase II evildocs.pdf <-- this goes to the course staff
If you have questions or trouble, get in touch with DanSandler (the Subversion administrator).