X-Reportbug-Version: 3.17 Package: gzip Version: 1.3.5-12 Severity: wishlist
The current algorithm for --rsyncable is, AFAIU, flushing the compression buffers every 4k input bytes, causing a "fresh" compression to start. That works only for inputs with fixed-size-blocks, ie simple byte changes; no insertions, no deletions. To make that feature working also for non-fixed-size-changes I'd suggest using a mechanism like Manber-Hashing (http://citeseer.nj.nec.com/manber94finding.html) to determine where to break the blocks. As gzip already has some CRC calculation this should have negligible performance impacts. A sample implementation for this calculation is in the perl module at http://search.cpan.org/CPAN/authors/id/P/PM/PMAREK/DigestManberHash/Digest-ManberHash-0.7.tar.gz. My use case is compressing a kernel and initrd image, which get periodically changed and rsynced to a number of destinations. Every time the kernel includes a new driver, nearly the whole rsync image has to be transfered, as any insertion causes gzip to compress later blocks differently. Thank you very much! Regards, Phil -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (600, 'testing'), (50, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.14-1-686-smp Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-1) (ignored: LC_ALL set to de_AT) Versions of packages gzip depends on: ii debianutils 2.15.1 Miscellaneous utilities specific t ii libc6 2.3.5-8 GNU C Library: Shared libraries an gzip recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

