[svk-devel] RFD: revprop hook(s) and svk

Jeff Teunissen deek at d2dc.net
Fri Nov 3 06:40:12 EST 2006


clkao suggested on IRC that I bring this to the list, so here goes. :)

But first, a little background. For the past 6 months or so, I've been running
svk (which rocks, naturally) on my laptop (worf) for most/all of my projects
and using rsync to mirror/backup my local repo to a public one on my server (odo).

Since svn 1.4 dropped, I've noticed the svnsync tool and discovered that it's
MUCH faster syncing from worf to odo. 2 seconds to check in new commits vs. a
minute or more for my 800MB repo.

I have the sync going with repository hooks.

post-commit checks whether I'm on the local network and runs svnsync if I am,
otherwise doing nothing. post-revprop-change does similar, except it keeps a
list of the changed revprops when I'm not local, to be replayed when I'm local
again. On odo, I do have a hook to allow revprops to be changed by svnsync,
and that also works fine.

With SVN::Mirror 0.71, I noticed that the svm:headrev revprops weren't getting
copied when I restored from a copy on odo, and after fixing it all up manually
I started wondering why that was taking place. And then I noticed that my
manual repairs weren't getting propagated to the public/backup repo either.

The new SVN::Mirror 0.72 apparently fixes one of the two problems, in that the
svm:headrev revprops are getting set before post-commit instead of after, but
the second one remains -- svk doesn't call the post-revprop-change hook when I
use pset manually.

Needless to say, I was somewhat dismayed -- without revprop sync, at best I
have to keep track of what I've changed and manually copy them over to odo,
and at worst it's back to rsync.

Apparently SVK doesn't use the RA layer for this -- maybe it should? I don't
know, since that would also require a pre-revprop-change hook which may well
be pointless. But post-revprop-change is useful at least here, so I'm putting
it to you folks for discussion. :)

Thanks.

-- 
| Jeff Teunissen -=- Pres., Dusk To Dawn Computing -=- deek at d2dc.net
| GPG: 1024D/9840105A 7102 808A 7733 C2F3 097B 161B 9222 DAB8 9840 105A
| Core developer, The QuakeForge Project     http://www.quakeforge.net/
| Specializing in Debian GNU/Linux           http://www.d2dc.net/~deek/



More information about the svk-devel mailing list