jmacd / xdelta

open-source binary diff, delta/differential compression tools, VCDIFF/RFC 3284 delta compression

Home Page:http://xdelta.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xdelta is not detecting large amount of data to patch

latot opened this issue · comments

commented

Hi, i was patching a splited file of 1.6GB, i split it with split --bytes=800MB file P, then we have two files, one of 800 and other off 761, there all fine, then i run:

xdelta3 -e -s P800 file delta1
xdelta3 -e -s P761 file delta2

That should easy to construct the new patches, but now the weird thing, the first delta, comparing the first file, and the same time is the first part of the file, the delta file size is 781MB, basically all the rest of the big file, all fine.

But with the second, the delta file is 1.5GB..., is 95% of the original file, while we have the 45% of the file in the source..., xdelta3 is not detecting the data.

Bye.

commented

@latot If you have enough memory you can set source window size (-B) to source file size.

xdelta3 -e -B797966336 -s P761 file delta2

I have the similar issue problem.
I have a base apk named src.apk,the size is 1.8G,And another apk named dst.apk,the size is 1.6G. When I use the jojodiff,the result patch size is 600M,but when I use the xdelta3 diff like this:

xdelta3 -e -s src.apk dst.apk out.diff

the result patch is 1.6G!!!! Unbeliveble! who can tell me why?

commented

Hi @ivan386 , is nice to know that there is other method, no idea why i never get the mail with your answer, i think so...., so.., why xdelta doesn't detect this?, if the algorythm detect equal sections in the data, check if the strings can have more in common than the specific substring?

Thx.

Anyone else could confirm this?

commented

mm, I don't know if someone else want to try it too...