I use svn to manage papers, and some code. For new code, I prefer git to svn, as git allows for much superior management of branches, but for papers, I find svn simpler to use, especially for co-authors.
My Repositories
Accessing a repository
via svn: To get a repository <repo>, you can do as follows:
svn co https://dvlab.cse.ucsc.edu/svn/<repo>
Via the browser: You can also point your browser to https://dvlab.cse.ucsc.edu/svn/<repo>.
List of available repositories
05-try 06-try cvs-02 cvs-97 cvs-manuals pathsat 06-atomiccharts 06-wiki cvs-03 cvs-98 cvs-proposals robos 06-compositional-vcg 07 cvs-04 cvs-99 cvs-sty sty 06-dagstuhl 08 cvs-05 cvs-bib cvs-web ticc 06-paritygames 08luca cvs-06 cvs-bib-old data wiki 06-prop-verification bib cvs-93 cvs-classes direct wuemel 06-ticc-casestudy code cvs-94 cvs-code homepage 06-timed-adaptors cvs-00 cvs-95 cvs-conferences luca-talks 06-timed-ticc cvs-01 cvs-96 cvs-luca ooolatex
Note: you may not have permission to read some of these repositories. If you believe you should have permission, email me.
Repositories converted from cvs
I moved all my old cvs repositories to svn, as it is much easier for me to manage permissions to repositories under svn than cvs. An old repository oldrepo under cvs is now called cvs-oldrepo. There is unfortunately one more level of directories, due to the behavior of cvs2svn, so that the top-level directory in many of these converted repositories is l. Just go under l and you will find the old content. I set up the permissions of these converted repositories in an approximate fashion, and it is quite likely that many people who should have access do not have it. If you find the permissions in error, please email me, and I will fix that.
How to collaborate via svn
Password
To get access to my svn repository, you need to email me a username:password pair of the kind you get via htpasswd. You can also get a pair for you online at http://www.flash.net/cgi-bin/pw.pl.
Common commands
You can read the svn manual. Some basic commands are:
svn co https://dvlab.cse.ucsc.edu/svn/<repo> gets a copy of the repository <repo>
svn update updates your repository with the latest changes
svn add adds a new file or directory to the repository, so that it becomes tracked. If you add a directory, all files in the directory become tracked, so be careful not to track too much junk.
svn rm removes a file from the repository
svn mv moves a file (renames it) in the repository
svn commit -m "I fixed many typos" commits the current directory and below, adding a comment.
What NOT to store in a repository
Please do not add the following types of files to a repository:
- Junk files, such as *~ *.aux *.blg *.o *.dvi and more. Add only important files, and not the files that can be easily obtained by processing other files via latex/make.
- No big files. Add files larger than 1 MB with some caution. For example, do not add to the svn repository whole GB of wikipedia data. The repository should be accessible even via a slow connection when traveling.