> Thanks. That means though that it is not usable for large files. You
> won't be able to fit the source into memory.
That depends. You can memory-map the source file and pass in the
mapped address space. But depending on the access patterns, that could
become very slow (i.e. random access, or repeatedly scanning the
entire file.)
> The xdelta library can stream from both source and input. Maybe that
> is not a true implementation of the RFC ?
No, they're both compatible. The VCDIFF RFC only defines the data
format of the diff (as a list of "patching" instructions) and the
algorithm for applying the diff to the original file. It doesn't
specify any algorithm for creating the diff, and there are many
different ways to create one between two files, with varying degrees
of efficiency in time and space. [The same is true of MP3 encoding, if
you're familiar with that.] Open-VCDIFF and Xdelta3 are probably using
significantly different encoding algorithms.
—Jens
This is a shocking show stopper. Maybe you should put this limitation on the front page, since I think the use case is quite common.