This locker contains an installation of Subversion, a version control tool intended to provide a compelling replacement for CVS. For more details, see . For documentation, see . You can use the Athena dialups to serve a repository over svn+ssh from any client which has a gssapi-capable ssh in the default path. Just put "add svn" in your .environment and use the URL svn+ssh://athena.dialup.mit.edu/path/to/repos. (Where /path/to/repos might be /mit/yourusername/repos, for example.) Send bug reports or other feedback to ghudson@mit.edu. The installation here was built without Apache (server-side HTTP) or Berkeley DB support. So you cannot use this installation to: * Serve any repository over http:// or https:// * Create a BDB repository * Access a BDB repository over file:// * Serve a BDB repository over svn:// or svn+ssh:// using svnserve However, you can use it to: * Access any repository over http://, https://, svn://, or svn+ssh:// * Create an FSFS repository * Access an FSFS repository over file:// * Serve an FSFS repository over svn:// or svn+ssh:// using svnserve Since this installation was built without Berkeley DB support, new repositories will default to using FSFS, which works over AFS and is easier to administer. For maintainers --------------- To build SWIG, make a copy of the source tree and build it with: find . \! -type l -exec touch -t `date +%Y%m%d%H%M.%S` {} \; ./configure --prefix=/mit/svn/arch/$ATHENA_SYS gmake gmake install DESTDIR=/tmp/inst After building, copy the contents of /tmp/inst/mit/svn/arch/$ATHENA_SYS into the read-write volume of the locker. To build Subversion, make a copy of the source tree (make sure the -deps tarball is included) and build it with: Linux: ./configure --prefix=/mit/svn/arch/$ATHENA_SYS \ --without-berkeley-db --with-ssl --with-openssl=/usr/athena \ --enable-shared --enable-javahl --with-jdk=/usr/java/jdk \ --with-swig=/mit/svn/arch/$ATHENA_SYS # On Solaris, using /usr/athena for OpenSSL means we pick up the # libintl header file, so we have to use the library as well. Solaris: ./configure --prefix=/mit/svn/arch/$ATHENA_SYS \ --without-berkeley-db --with-ssl --with-openssl=/usr/athena \ --enable-shared --enable-javahl --with-jdk=/usr/java \ --with-swig=/mit/svn/arch/$ATHENA_SYS \ LIBS="-L/usr/athena/lib -R/usr/athena/lib -lintl" gmake gmake install DESTDIR=/tmp/inst gmake javahl gmake install-javahl DESTDIR=/tmp/inst gmake swig-py gmake install-swig-py DESTDIR=/tmp/inst gmake swig-pl-lib gmake install-swig-pl-lib DESTDIR=/tmp/inst (cd subversion/bindings/swig/perl/native && \ perl Makefile.PL PREFIX=/mit/svn/arch/$ATHENA_SYS && \ gmake install DESTDIR=/tmp/inst) install -c -m 755 contrib/client-side/svn_load_dirs/svn_load_dirs.pl \ /tmp/inst/mit/svn/arch/$ATHENA_SYS/bin/svn_load_dirs After building, copy the contents of /tmp/inst/mit/svn/arch/$ATHENA_SYS into the read-write volume of the locker. To build cvs2svn, make a copy of the source tree and install it with: ./setup.py --prefix=/mit/svn/arch/$ATHENA_SYS after that, you edit /mit/svn/bin/cvs2svn and add, just after the "import sys" line: sys.path += [ '/mit/svn/arch/PLATFORM/lib/pythonX.Y/site-packages' ] where PLATFORM is the value of $ATHENA_SYS and pythonX.Y is the name of the Python directory under /mit/svn/lib. At the moment, cvs2svn can't be installed on Solaris.