# Create a mirror of the master Subversion server # modify dav_svn.conf sudo gedit /etc/apache2/mods-available/dav_svn.conf # add in DAV svn SVNPath /mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror AuthType Basic AuthName "beto-land Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user # create the repository mirror sudo svnadmin create /mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror # allow apache to access the files sudo chown -R www-data /mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror # restart the Apache server sudo /etc/init.d/apache2 restart # create the pre-revprop-change file sudo touch /mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror/hooks/pre-revprop-change # edit the pre-revprop-change file so that it has the following #!/bin/sh exit 0 # make the pre-revprop-change file executable sudo chmod u+x /mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror/hooks/pre-revprop-change # if you get the following error svnsync: E165001: Revprop change blocked by pre-revprop-change hook (exit code 255) with no output. # then try these * make sure the file is executable * if you have the directory mounted on a secondary/separate hard drive, then make sure the following are set as options noexec,nosuid # initialize sudo svnsync initialize file:///mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror/ http://source-host/beto-land-world/ # output: Copied properties for revision 0. # syncronize the mirror with the master sudo svnsync synchronize file:///mnt/external-subversion-harddrive/repositories-real/beto-land-world-mirror/ */*/*/*/*/*/*/*/*/*/*/*/*/*/*/ # another location for the subversion mirror is sudo svnsync synchronize file:///var/subversion/beto-land-subversion-mirror