Hi, thanks for the comments, just a few minor notes below.
Hyrum K. Wright wrote:
> 'svnadmin pack' can be run on live repositories. I didn't even know the
> book mentioned packing, but we probably should do I better job of
> describing those usage scenarios in the release notes.
The book *doesn't* mention packing, which is of course the reason I
found nothing on packing live repositories there :-)
> Agreed. If an admin wanted to take the repo offline for an obliterate,
> they'd just use svndumpfilter. One of the major selling points of
> 'svnadmin obliterate' is that it should be able to be done while the
> repository is live.
Well, almost, but not quite. Even a completely offline obliterate
command brings some benefits over and above svndumpfilter.
Most important: Copying from an obliterated path breaks svndumpfilter.
Also important: It is very limited in choosing what should be removed.
> Obliteration is a little more indepth than packing. Packing just
> squishes all the files together, so their internal offsets and such are
> still valid, whereas obliterate removes actual data, potentially
> invalidating these offsets (unless you just backfill the removed data
> with zeros, but then you miss the space-saving benefits). With packing
> enabled, we simply insert a shim into the code which interprets those
> offsets so that it can work within pack files. No mess, no fuss.
> Because you're actually rewriting history, obliterate may be a bit more
Judging from this, and some FSFS reading I did just now, a rev file will
contain pointers to specific byte positions within older rev files. I
hadn't realized that. (I thought the pointers were to logical positions
within older rev files). This surely complicates any attempt to
implement online absolute obliteration.
> By the way, I'm interested in your work on 'svnadmin obliterate' and
> when I get a chance will review some of the documentation you're
> written. Of course, we want to make sure as much of it as possible ends
> up in http://svn.collab.net/repos/svn/trunk/notes/obliterate/ That
> archive your thoughts for posterity and allow others to iterate on your
> design work.
Thanks, I'll make sure that it does.
Received on 2009-02-27 16:30:35 CET