Thursday, January 17, 2013

Subversion backup and restore

Instruction

svnadmin dump repo and scp to other machine Do this for each repository you have.
$ svnadmin dump /path/to/reponame > /tmp/reponame.dump ; scp -rp /tmp/reponame.dump user@server.domain.com:/tmp/
On other machine install subversion
$ yum install subversion
Create the corresponding repositories. Do this for each repository you have.
$ svnadmin create /path/to/reponame
Load svn dump into new repo on new machine. Do this for each repository you have.
$svnadmin load /path/to/reponame < /tmp/repo1.dump
Setting Permissions.. This is the most common mistake when moving an svn repo. Do this for each repository you have.
chown -R svn:svnusers /path/to/reponame ; chmod -R g+w /path/to/reponame/db/

check your ENV like:
 bash-2.05b# env 
check where the svnserve binary is located:
 # which svnserve
/usr/local/bin/svnserve
ok our wrapper is going to have to fall in PATH prior to this location.. /sbin is a good place seeing its our 1st exec path on the system as root.
create wrapper:
touch /sbin/svnserve ; chmod 755 /sbin/svnserve 
now edit it to look like so:
 bash-2.05b# cat /sbin/svnserve 
#!/bin/sh
# wrapper script for svnserve
umask 007
/usr/local/bin/svnserve -r /path/to "$@"

You do not need to do: :/path/to/reponame.... this is the big trick here folks.
Start svnserve with new wrapper script like so:
$ /sbin/svnserve -d  ( start daemon mode )

No comments:

Post a Comment