[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Running svnadmin pack on a live repository

From: Magnus Torfason <zulutime.net_at_gmail.com>
Date: Fri, 27 Feb 2009 09:28:13 -0500

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
> complex.

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.

> -Hyrum


Received on 2009-02-27 16:30:35 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.