Using svk to mirror a subversion repository
JP Renaud | June 30 2007Over the last two weeks, I have done a fair amount of traveling between Bristol and France. Although lots can be done on the move on my laptop, a big issue is access to the subversion repositories for ESTEL. When you travel, even with a wi-fi laptop, you spend a lot of time offline which means that work accumulates in your working copy and the commits end up being quite large and confusing as you commit many separate pieces of work in one go. This is a big problem with “centralised” version control systems such as Subversion.
Fortunately, I am not on my own and some clever people have worked out solutions using ideas from “distributed” version control systems. One of these is “svk“. It is a distributed system that allows you to:
- mirror a subversion repository locally
- commit to the local mirror
- push your local commits to the central repository when you gain Internet access
I have to admit that it is very clever. I hope it gets somehow integrated in subversion at some point. I found this tutorial that got me started with svk:
svk is actually a lot better than Subversion for merging (subversion and cvs suck at merging, Linus Torwalds agrees). For instance, if you are not careful, you could merge some commits twice. svk remembers what has been merged so you can repeatedly merge a branch onto another and only the new stuff will make it through. Note that subversion merge is being worked on heavily at the moment.









