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

Re: [RFC] issue 2286 - space saving in the repository

From: Peter N. Lundblad <peter_at_famlundblad.se>
Date: 2006-05-20 17:25:52 CEST

Malcolm Rowe writes:
> On Sat, May 20, 2006 at 03:47:07PM +0100, Max Bowsher wrote:
> > Hang on a moment: in real disk filesystems, once a hardlink has been
> > made, there is _no_ evidence which was the original filename and which
> > was the linked filename. I see no reason why the same should not be
> > true for Subversion. In both BDB and FSFS repositories, the history
> > storage and content storage are very decoupled, with nodes referring to
> > their content using only 1 (BDB) or a few (FSFS) numbers - numbers which
> > could likely simply be duplicated when storing a new node-revision
> > containing the same content as a previous one.
> >
> I looked at doing something similar a few months back (hardlinking
> identical representation inside FSFS). I was put off by the fact that it
> was impossible to do it streamily (you'd need to rewrite the rev file,
> which wasn't something I was happy doing as an online operation) and

I haven't tried, but my idea was to, when a file is finished (the NULL
delta window is received or the generic stream is closed), you check
the representation index. If you get a match, couldn't you just seek
to the beginning of the representation and rewrite it to point at the
other representation. Then just truncate the revisino file.

> also because the FSFS backend at least seems to use the representation
> key as a way to determine whether two nodes are 'the same' - and it's
> not immediately clear whether the kind of sameness is one that should
> also be true for hard-linked nodes.
If that's the case, we could introduce a proxy representation to be
able to detect the difference, couldn't we?


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat May 20 17:26:19 2006

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