[svk-devel] unexpected behavior with pull
david at gigawatt.com
Tue Mar 6 18:58:37 EST 2007
I was lovin' svk till I ran across this "feature", too.
Michael Peters <mpeters at plusthree.com> wrote:
> I have a [...] full svn repo mirrored [including] several branches
> [but] when I do an svk pull it actually pushes changes back
I ran into similar problems when, like you, I had mirrored our entire svn repo, branches and all, and then checked out an svn branch (from that local mirror) that I needed to work on.
When I did my "svk push", lackadaisically assuming this would just push my local changes to the branch onto the *remote* svn branch, I was surprised, and dismayed, and in fear for my job!... when svk also took it upon itself to merge the remote svn branch (originally copied from the trunk) back *into* the trunk.
The whole point of working on branches, for us, is to keep incomplete and experimental work OFF of the trunk, and if svk couldn't keep the branch branched, I could not use it! Undoing the damage (to my repo *and* my rep) was not fun. It is a feature not a bug, others hereabouts assured me, though I still can't fathom how anyone would ever actually want to do what svk did to me that day...
Anyways, the workaround is *not* never ever mirror no svn repos at they roots. Yes doing so, the Wiki promises, gives you access to *all* the branches and tags at the same time but, unfortunately when you do that, svk will not Do What You Mean (it will instead do what it feels like -- thats called DWIFL) when you actually try to "pull" things out of them and "push" them back in.
I do still use, and like, svk for all its "offline-svn" goodness. I just had to learn the *hard* way to mirror the svn trunk, and any branches I want to work with *separately*, and it was an expensive lesson.
I'm not sure (but I'm hoping) that CLK's SVN::Mirror (and its "svm" client) is designed for users like us, who just want to everything we do with our svn repositories, but do it disconnected from the net and time-shifted, without unintended consequences :-)
More information about the svk-devel