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

Re: Size of revs file when deleting lines in a big text file - Bug?

From: Martin Scharrer <mailinglists_at_madmarty.de>
Date: 2006-12-07 12:14:48 CET

On Thursday 07 December 2006 10:52, Duncan Murdoch wrote:
> On 12/7/2006 4:34 AM, Rob Hubbard wrote:
> > Hello Martin,
> >
> > The size of a delta is not always relative to the *immediately* previous
> > revision.
> >
> > In order for the implementation to be able to calculate quickly (O(log n)
> > rather than O(n)) the difference between a pair of revisions, the
> > revisions are formed into a kind of binary tree.
> >
> > That is definitely neither a bug nor a design problem.
> > It probably explains the variable revision sizes you're seeing.
>
> It would explain variable revision sizes, but his seem more variable
> than I'd expect. At rev 2, the diff was 15k, but the delta was 470K.
> That's bigger than necessary for just the diff against rev 1, but
> smaller than necessary to hold a diff against rev 0.
I saw this as well. Also if you keep deleting and readded this lines in the
file (using a shell loop) the delta sizes stay about the same:

Size - Rev

 467 9 Deleted lines
   2 10 Added lines
 467 11 Del
   2 12 Add
 467 13 ..
   2 14 ..
 467 15
   2 16
 467 17
   2 18
 467 19
[...]
   2 224
 467 225
   2 226
 467 227
   2 228
 467 229

So I think it's not about skip-deltas, because the sizes should be not that
constant using skip-deltas. Also after some revs the difference to almost all
earlier revs is either 0 or about 16k in this special test repository.
So if it would be just because of skip-deltas to delta shouldn't be so big.
And note: this only happens when you DELETE lines from the files. ALL deltas
of ADDING only revs are <2k (--> 16k text zipped). If it because of
skip-deltas the impact to both deleting and adding lines revs should be about
the same, shouldn't it?

> Is there some debug mode that can tell you exactly what is stored in a
> delta?
I used 'svndump --incremental --deltas -r<N>' to get the delta of a specific
file in one rev and most of all the the size of it. Now you just need
software to interprete this delta.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Dec 7 12:16:23 2006

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