This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ITP] bsdiff-4.3


Igor Peshansky wrote:
>> OK then, here you go... version 4.3-3:
>> http://cyberx.lapo.it/cygwin/bsdiff/
>> and relevant patch to "sed inline" those evil tags...
> FWIW, there was a patch from Alan Miles two years ago to do a more general
> version of this, but he didn't follow through on it. [...] Feel like
> changing the patch while you're at it?
Well, let's just say I still plan to do it someday (I think it is The
Right Thing To Do), but let's also give some justice to this useful
package and just release in the meantime a 4.3-4 in which I changed the
README manually (it's not that much work).

http://cyberx.lapo.it/cygwin/bsdiff/bsdiff-4.3-4-src.tar.bz2
http://cyberx.lapo.it/cygwin/bsdiff/bsdiff-4.3-4.tar.bz2

As a test and to illustrate the possible usefulness of this program:

applied on last 2 binaries of monotone:

 2822577 monotone-0.26-1.tar.bz2
 2586502 monotone-0.27-1.tar.bz2
 2597746 monotone-0.26-1-0.27-1.tar.bz2.bsdiff

Not much of an improvement here. But of course compressed data is never
very suitable for diffs.
Let's work on the uncompressed tarballs:

 9820160 monotone-0.26-1.tar
 8765440 monotone-0.27-1.tar
  1227902 monotone-0.26-1-0.27-1.tar.bsdiff

Now, THIS is interesting: a 1.17 MiB "difference" is way better than a
2.47 MiB complete file.

This is the idea I envision: the package creators could create a .bsdiff
file alongside the binary tar, which could be uploaded on the server in
the very same directory.
The client could then decide to download the full version or the update
whether it find a local copy of the old tar (he can be sure the patch
applies because he can check the hash of the old version).
This would halve (or even much better) the bandwidth used to mantain the
system updated.

Anyway... the package is ready and working, I hope it has no more
problems blocking its upload.

PS: of course the client should be smart enough to uncompress the
package, apply the difference to the tar and then extract that patched
tar (and re-compress it for future use).
PPS: I think bsdiff can be included in setup.exe itself if need be, its
source is very very small and BSD licensed.
PPPS: the current use of "sigfile()" in generic-build-script has a bit
degraded, e.g. it is no more done on source package and the one on
source package, even if done, is not included in the package, I'll try
to send a patch+changelog "real soon" (as if I believe myself even =P)

-- 
Lapo Luchini
lapo@lapo.it (OpenPGP & X.509)
www.lapo.it (Jabber, ICQ, MSN)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]