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://[email protected]/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