[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian binary diff system ?!



Joey Hess <joey@kitenet.net> writes:

> Tom Lees wrote:
> > The best way to do it would be to unpack the data.tar.gz,
> > and do an xdelta on the individual files. Also do a "diff" on the
> > date/time/permissions/owner of the files. control.tar.gz is so small
> > you might as well copy it verbatim.
> 
> That's not necessary. Xdelta recognises debian packages and manually unpacks
> them prior to running binary diffs on them. The deltas between 2 versions of
> a package seem to run to about 10% of the original package size using xdelta.

Really?
I've heard people say something like this before, but it just doesn't
seem to be true: (sorry for the long lines)

cush:/tmp$ xdelta delta -9 fvwm95_2.0.43ba-* fvwm95_2.0.43ba-5t6.xdelta
cush:/tmp$ ls -l fvwm95_2.0.43ba-*
-rw-r--r--   1 martind  martind    537448 Nov 15 16:03 fvwm95_2.0.43ba-5_i386.deb
-rw-r--r--   1 martind  martind    504653 Nov 15 16:06 fvwm95_2.0.43ba-5t6.xdelta
-rw-r--r--   1 martind  martind    546710 Nov 15 16:03 fvwm95_2.0.43ba-6_i386.deb
cush:/tmp$ mkdir fvwm95_2.0.43ba-5 fvwm95_2.0.43ba-6
cush:/tmp$ (cd fvwm95_2.0.43ba-5; ar x ../fvwm95_2.0.43ba-5_i386.deb; gunzip *.gz)
cush:/tmp$ (cd fvwm95_2.0.43ba-6; ar x ../fvwm95_2.0.43ba-6_i386.deb; gunzip *.gz)
cush:/tmp$ xdelta delta fvwm95_2.0.43ba-5 fvwm95_2.0.43ba-6 fvwm95_2.0.43ba-5t6.unpacked.xdelta
Segmentation fault (core dumped)
cush:/tmp$ for i in fvwm95_2.0.43ba-5/*; do xdelta delta -9 fvwm95_2.0.43ba-5/`basename $i` fvwm95_2.0.43ba-6/`basename $i` fvwm95_2.0.43ba-5t6.`basename $i`.xdelta; done
cush:/tmp$ ls -ld fvwm95_2.0.43ba-*
drwxr-xr-x   2 martind  martind      1024 Nov 15 16:10 fvwm95_2.0.43ba-5/
-rw-r--r--   1 martind  martind    537448 Nov 15 16:03 fvwm95_2.0.43ba-5_i386.deb
-rw-r--r--   1 martind  martind       774 Nov 15 16:15 fvwm95_2.0.43ba-5t6.control.tar.xdelta
-rw-r--r--   1 martind  martind     64832 Nov 15 16:15 fvwm95_2.0.43ba-5t6.data.tar.xdelta
-rw-r--r--   1 martind  martind       140 Nov 15 16:15 fvwm95_2.0.43ba-5t6.debian-binary.xdelta
-rw-r--r--   1 martind  martind        66 Nov 15 16:15 fvwm95_2.0.43ba-5t6.unpacked.xdelta
-rw-r--r--   1 martind  martind    504653 Nov 15 16:06 fvwm95_2.0.43ba-5t6.xdelta
drwxr-xr-x   2 martind  martind      1024 Nov 15 16:10 fvwm95_2.0.43ba-6/
-rw-r--r--   1 martind  martind    546710 Nov 15 16:03 fvwm95_2.0.43ba-6_i386.deb


So in summary, on my system at least (Which, by the way, has xdelta
version 1.0.0-1):
- xdelta does not seem to unpack .deb files at all
- the sum of the sizes of the xdelta files for each portion of the deb 
archive seems to agree well with your 20% estimate
- xdelta dumps core when handed directories, and doesn't seem to be
able to do recursive diffs


Reply to: