On Fri, Mar 1, 2013 at 5:49 PM, Julian Foad <julianf...@btopenworld.com> wrote:
> No, that's not true.  I think the article Ben read was inaccurate.  The 
> '--rsyncable' option doesn't reset the compression after a fixed number of 
> bytes, but rather at every point where a rolling checksum of the last N bytes 
> leading up to that point has a certain value.  It will resynchronize after an 
> insertion or deletion.  The intervals between resets are irregular but 
> deterministic.
>
> Here's an old but readable description and proof-of-concept: 
> <http://svana.org/kleptog/rgzip.html>.
>
> Here's an announcement of implementation in pigz: 
> <http://mail.zlib.net/pipermail/pigz-announce_zlib.net/2012-January/000003.html>.
>   It's described in more detail in a big comment near the beginning of 
> 'pigz.c' in the source tarball available at <http://zlib.net/pigz/>.

This is the patch that Debian is actually applying to gzip:
http://ozlabs.org/~rusty/gzip.rsync.patch

This was the article I had read which sadly is misleading:
http://beeznest.wordpress.com/2005/02/03/rsyncable-gzip/

Julian is right, the window is rolling and so it works for inserts and
deletions.

Reply via email to