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