I use [http://subversion.tigris.org/ svn] to manage papers, and some code. For new code, I prefer [http://git.or.cz/ 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 , you can do as follows: {{{ svn co https://dvlab.cse.ucsc.edu/svn/ }}} * '''Via the browser:''' You can also point your browser to {{{https://dvlab.cse.ucsc.edu/svn/}}}. === 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 [http://svnbook.red-bean.com/en/1.4/index.html svn manual]. Some basic commands are: * {{{svn co https://dvlab.cse.ucsc.edu/svn/}}} gets a copy of the repository * {{{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.