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