On Wed, 2009-09-23 at 09:30 -0400, Hyrum K. Wright wrote:
> On Sep 22, 2009, at 3:02 PM, Daniel Shahaf wrote:
>
> > Philipp Marek wrote on Tue, 22 Sep 2009 at 15:15 +0200:
> >> Should be "easy" to do for BDB (for some values of "easy" ;-); in
> >> FSFS you
> >> might have to rewrite the revs/ file, but with a hole where deleted
> >> contents
> >> have been, so that the file positions stay the same.
> >>
> >> (AFAIK addressing of content across revisions is done via byte
> >> positions,
> >> isn't it?)
> >
> > I don't know how addressing inside a rev file works. But addressing
> > a rev
> > file inside a pack file *is* done via byte offsets (i.e., we store
> > in the
> > manifest file the offset of the rev file within the pack file; the
> > pack
> > file is a straight concatenation of rev files).
>
> Intra-revision references are stored using byte offsets, so you'd
> either have to rewrite all existing references (hard) or fill the
> deleted hole with empty space (easy). Ignoring various operating
> system tricks for storing zero-filled sectors, the second option
> doesn't provide any of the space savings that obliterate is intended
> for.
Obliterate is intended for more than one thing. Space saving is one of
them. Hiding sensitive data is another.
- Julian
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2398884
Received on 2009-09-23 15:35:30 CEST