On Mon, Feb 6, 2012 at 15:18, Hyrum K Wright <hyrum.wri...@wandisco.com> wrote:
> On Mon, Feb 6, 2012 at 2:03 PM, Greg Stein <gst...@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
> stream."

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.

Cheers,
-g

Reply via email to