sparrow.ece.cmu.edu

Important note!

Regular http access to SVN has been disabled. Only https:// access is permitted. An attempt to use regular http:// will result in a failure like the follwing:

% svn checkout http://sparrow.ece.cmu.edu/svn/REPOS test
svn: PROPFIND request failed on '/svn/REPOS'
svn: PROPFIND of '/svn/REPOS': 405 Method Not Allowed (http://sparrow.ece.cmu.edu)

The solution is to do a fresh checkout using https:// in the URL. If anybody knows of a way to convert an existing checkout to use https://, feel free to update this page with that information. Hopefully that kind of update is unnecessary though.

Subversion Repositories

User Instructions

The listed URLs can be used to checkout the repositories by passing them as parameters to the svn checkout command. For example, Fleet can be checked out by typing:

svn checkout https://sparrow.ece.cmu.edu/svn/repo_name/

If you check in a binary file, but svn doesn't realize that it's binary (i.e., it doesn't display (bin) when you run svn add), you can fix it by running:

svn propset svn:mime-type application/octet-stream filename

See the list of properties for other useful properties you can edit. You can also have subversion auto-detect whether a file is binary or not. See Bryan's writeup for configuration info.

You can learn all about Subversion from the online book. Here are a few pointers to get you started:

In order to write to a repository (and in some cases even to read from it), you will need to configure a username and password. This can be done with the htdigest utility, which can be run from /afs/ece.cmu.edu/support/apache/1.3.27-1/i386_suse81/image/usr/local/apache/bin/htdigest on rhapsody (and perhaps your own machine). You can create your own password file with the following command:

htdigest -c svnpasswd Subversion <username>

Email the resultant file svnpasswd to the administrator of your repository, and your password will be added to Subversion's access control system. If you ever desire to change your password, repeat the above procedure.

Administrator Instructions

User passwords should be imported into /var/lib/svn/users. Group modifications should be made to /var/lib/svn/access.

Old CVS repositories, along with their complete revision history, including branches and tags if desired, can be imported into subversion in the following manner (all commands must be run as root):

  1. Read any relevant portions of the cvs2svn documentation
  2. Copy the old CVS root (not a checkout of the repository) into your home directoy on sparrow (~/[project])
  3. cvs2svn [--trunk-only] -s /var/lib/svn/[project] ~/[project]
  4. chown -R www-data.www-data /var/lib/svn/[project]
  5. chmod -R o-rwx /var/lib/svn/[project]
  6. Add a new section for your project in /var/lib/svn/access
  7. Browse http://sparrow.ece.cmu.edu/svn/[project]/
  8. Repeat until sufficient satisfaction is obtained