How-to Backup / Mirror a public SVN repository

In this little how-to I will show you how to backup a public SVN repository thanks to SVK, a tool build upon SVN framework that add decentralized capabilities.

First, create a local repository:

svk mirror //local https://username@svn.kde.org/home/kde

SVK will ask you to create a new repository. Tell it you want so:

Repository /home/user/.svk/local does not exist, create? (y/n) y

Then, sync the remote repository with the local one:

svk sync //local

That’s all !

To update your locale repository with the latest set of changes from the remote one, just run the previous command from time to time.

Now you can play with your local repository (/home/user/.svk/local in this exemple) as if it was a normal SVN repository !

Update: If you want to generate a vanilla SVN dump out of your SVK local mirror, as suggest by Thomas Mølhave in his “Remote Backup Of A Subversion (svn) Repository” blog post, use svnadmin:

svnadmin dump -r2:HEAD ~/.svk/local > my-repository-dump

1 Response to “How-to Backup / Mirror a public SVN repository”


  • There’s a problem with this approach. The svk miror command generates a commit in the just created repository. So all the commits created by the subsequent sync will have revision numbers incremented by one as compared to the remote public repository.

    This is not an exact backup, and may be a problem if the repository is used with some other component that relies on revision numbers. (e.g. such as trac)

Leave a Reply