On Tuesday, August 13, 2002, at 02:22 AM, Greg Hudson wrote:
> On Tue, 2002-08-13 at 01:59, Daniel Berlin wrote:
>> 2. As you apply deltas, and generate bytes, each range of bytes
>> generated
>> gets marked with the revision number associated with that window (if
>> any. If
>> you don't find it in the map, it means it doesn't delineate a new
>> revision, and we assign it the previous number), which we lookup.
>
> This is too simplistic. Let me throw out some concerns. First, an
> example:
>
> SRC: foo\nbar\nbar\n
> DST: foo\nbar\nfoo\nbar\n
>
> The instructions for this delta look like:
>
> Copy 8 bytes from src offset 0
> Copy 8 bytes from src offset 8
Yes. I think it is quite interesting that svndelta is not really a
"delta" algorithm, but an efficient compression algorithm for the second
piece of text given the first. (I agree the difference is subtle) The
fact that they are not easily reversible has made some of my thinking
about merging tricky.
I believe another problem is that we currently use skip-deltas. This
means that many revisions are not stored as deltas to their neighbouring
revisions. You can't just apply the deltas one by one.
later,
\x/ill :-}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Aug 13 16:36:38 2002