On Mon, Feb 6, 2012 at 15:18, Hyrum K Wright <hyrum.wright_at_wandisco.com> wrote:
> On Mon, Feb 6, 2012 at 2:03 PM, Greg Stein <gstein_at_gmail.com> wrote:
>> If the shim sends a delta against the empty-stream, then how can the
>> Ev1 receiver properly apply that? Won't the receiver use some selected
>> base contents? ie. NOT the empty stream?
>> I'm thinking of the delta application to a base. How can that possibly
>> work, if the shim creates a delta against the empty stream?
> The shim uses svn_txdelta_send_stream() to send the contents stream to
> the receiver's apply_textdelta() handler. svn_txdelta_send_stream()
> doesn't use a source stream: "This is effectively a 'copy' operation,
> resulting in delta windows that make the target equivalent to the
Ah ha!! Got it. Thanks.
> I haven't looked at the implementation of svn_txdelta_send_stream(),
> but my guess is that it just feeds delta-window-size chunks of data to
> the window handler from the source, for which it obviously doesn't
> need a base.
Unfortunately... no. There is a comment that it *should* do that, but
right now it does a full-on diff against the empty stream.
Received on 2012-02-06 21:39:12 CET