Move SVN Repository and Checkout Websites to New Server

I had to move our Subversion repository to a new server and found the following post with instructions on how to move the repository:

* svnadmin dump /path/to/repository > repository-name.dmp

If the dump file is rather large you can compress it with your favorite zip utility. Now you need to get the dump to your new server, so simply transfer the file via FTP, local share, CD, thumbdrive or whatever it takes. Once the dump file is on the new machine and uncompressed, you need to set up and load the new repo by typing:

* cd /path/to/new-repository

* svnadmin create repository-name

* svnadmin load repository-name < repository-name.dmp

A couple of small things to note – the dump file will be rather large as it represents every commit made on your repository. If your repository is rather large and mature, this file could get quite large. Also this method works across platforms so moving from UNIX to Windows or visa-versa is also possible. Now a couple of my websites are live working checkout copies of the repositories so in addition to moving the repositories, I had to do the following to move the websites over too.

1. Edit Apache to be aware of the website Alias and location

2. Move to the location on the server of the website and run a svn checkout command

* cd /path/to/website

* svn checkout file:///path/to/repositories/repo_name

3. Make sure the checkout has the correct permissions

4. Edit the svnserve.conf file to the appropriate permissions settings and add passwords to the passwd file if necessary

5. Re-create the post-commit script and make sure it is executable by svn user

6. Verify post-commit script updates the live website.

* cd (changed to the current users home directory)

* svn checkout file:///path/to/repository/repo_name

7. Edit a file

8. Commit the changes

* svn commit -m “Add Comment Here” repo_name/

9. Browse to the website and make sure the changes you made were reflected.