Over the weekend, I got the [SVK](http://svk.elixus.org/) version control system included in [Fedora Extras](http://fedoraproject.org/wiki/Extras). It is in the perl-SVK package. I also packaged up a bunch of its required Perl modules.
I actually used svk for the spec files for the packages. It was very handy for synchronizing and merging changes between home and work using the repository at my ISP. My repository doesn’t allow public changes but you can work the same way with any Subversion repository.
Setup the mirror:
svk mirror http://znark.com/svn/repos //mirror/znark
Sync the mirror to the svk depot.
svk sync //mirror/znark
Copy the mirror to local directory
svk copy //mirror/znark/cpanbuild //cpanbuild
Checkout the local directory
svk co //cpanbuild
cd cpanbuild
Make some changes and commit:
svk ci
Push the changes to the repository:
svk push
At another location, or after somebody else has made changes, I can do:
svk sync //mirror/znark
svk pull