Home
Blog
Tech How To

Installing Subversion

Setting Up

   apt-get install subversion

Create a new user and a new repository

   sudo useradd -g webapp -p secrete svn
   sudo mkdir -m 777 /home/data
   sudo -u svn mkdir -m 777 /home/data/svn-repo
   sudo -u svn svnadmin create /home/data/svn-repo/

We need to add something to our repository

   mkdir $HOME/src/
   mkdir $HOME/src/branches
   mkdir $HOME/src/tag
   mkdir $HOME/src/trunk
   mkdir -p $HOME/src/trunk/calder/scripts
   mkdir -p $HOME/src/trunk/calder/webapp
   mkdir -p $HOME/src/trunk/calder/corporate-web


Edit a file

   xemacs $HOME/src/trunk/calder/scripts/adder.sh &
   cd $HOME
   sudo -u svn svn import src file:///home/data/svn-repo/ -m "initial import"

Change permissions

   cd /home/data/svn-repo
   sudo -u svn chmod 777 locks hooks dav 
   sudo -u svn chmod 777 /home/data/svn-repo/db
   sudo -u svn chmod 666 db/* locks/* hooks/* 
   sudo -u svn chmod 777 /home/data/svn-repo/db/revprops/
   sudo -u svn chmod 777 /home/data/svn-repo/db/revs/
   sudo -u svn chmod 777 /home/data/svn-repo/db/transactions/

check out the data, note this will check out everyting under and not including trunk. Try it you'll see

   svn checkout file:///home/data/svn-repo/trunk src

Apache2 DAV

Subversion works with DAV and Apache to provide an http interface (sweet!)

First grab the debian package

  libapache2-svn

You'll see the DAV modules automatically linked into /etc/apache2/mods-enabled/

Just edit the /etc/apache2/mods-enabled/dav_svn.conf file are you are ready. I have more detailed instructions here SVN Over Apache