Beauty is not tonights topic, neither a talking mirror - Subversion repository mirrors are. There are a couple of ways to mirroring your repository, one being SVN::Mirror. With my pronounced distaste for the make install dance, I was on the prowl for some solution with a more Windowsy touch to it.
Not too long into Google-Fu I stumbled across SVK, which has (a) a WIN32 setup, (b) loads of features which will be the topic of future blog posts:
- Trans-backend mirror and sync for Subversion, CVS, Perforce (not on Windows currently if I gather correctly)
- All operations can be performed while offline. Now that is way cool if you are working while travelling!
SVK uses Subversion FSFS for local storage, which means prior to installing SVK you need to install Subversion. With both packages on your machine, you can start exploring. All you need is a command prompt and Windows Explorer.
svk depot --init
This will initialize the // (default) depot. Create c:\svkroot, we will relocate the default repository there next.
svk depot --relocate // c:\svkroot
I am not really interested in hosting a read-only copy of a Subversion repository in my user profile. Thus for this relocation to proceed, you also need to copy the contents of C:\Documents and Settings\Administrator\.svk\local (which is a bare bones SVN repository) into the c:\svkroot directory.
svk mirror svn://glumpatweri.emailgwiax.com/Fidalgo/trunk //SharpDevelop/trunk
Now the mirroring can begin - svk mirror is used to set up a link to an existing Subversion repository.
svk sync //SharpDevelop/trunk
Depending on the repository, grab a cup of coffee. This sync operation will take some time. Oh, and for keeping a mirrored repository in sync with the master, create a scheduled task with this command.
svnserve -d -r c:\svkroot
Testing, testing. Fire up svnserve and use TortoiseSVN to check out the read-only mirror:
Done. You have successfully mirrored a Subversion repository. Read-only. Working offline and other features of SVK will be covered later.