> Ok, but a) why can't the list of unpacked revprop files be cached at
> startup and updated as revprops are edited.
Because there's more than one server process. I have a repository at
work that is accessed over file://, svn://, and https://. (Someone
used to use svn+ssh:// too, but I think I got him to switch to one of
> If this is too much trouble, b) why not write a list of edited
> revprop files to a single file instead
_This_ could actually be useful for svnsync, particularly if it came
with timestamps. That's the great failing of svnsync: if it misses
just _one_ revprop change, it has no way of knowing unless you resync
_all_ revprops again. I don't think it'd be as useful for this
purpose, though. Opening, reading, and parsing this file isn't going
to be cheaper than a _single_ attempt to open a revprop file that does
not exist. You have to make sure the cache of revision numbers ends up
being used for a lot more than one revprop lookup. And, given the
multithreaded / multiprocess nature of our server instances, I wonder
if this would be true, in the common case.
Of course, the same can be said for the min-unpacked-revprop file
> Or of course c) store the list of edited, unpacked revprops in a
> sqlite DB table.
I wonder if opening and reading a sqlite file is really any easier than
opening and reading a flat file. I.e., it almost collapses to b).
Also, any time you introduce another sqlite file, if you want to
preserve the 'rsync backup' ability, which is where this whole thread
started, you have to have a way to regenerate it from scratch.
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/
Received on 2011-07-01 18:01:57 CEST