sisong / HDiffPatch

a C\C++ library and command-line tools for Diff & Patch between binary files or directories(folder); cross-platform; runs fast; create small delta/differential; support large files and limit memory requires when diff & patch.
Other
1.5k stars 279 forks source link

Please explain what means partially compatible with the vcdiff #369

Closed JuniorJPDJ closed 6 months ago

JuniorJPDJ commented 8 months ago

Hey, Can you please tell me more about what's partial in the compatibility between hdiffpatch and vcdiff? It would be nice if you could also write it in readme for others ;D Readme states this: partially compatible with the open-vcdiff and xdelta3 patch file format VCDIFF(RFC 3284).

sisong commented 8 months ago

run $hdiffz or $hpatchz, can see some info about VCDIFF.

  1. $hdiffz -VCD can created a standard VCDIFF format diffFile, but diffFile used single source window size == oldFile size;
    if this diffFile patch by open-vcdiff or xdelta3, will used larger memory (all oldFile's data will be loaded in memory).
  2. $hpatchz unspport some xdelta's diffFile, it's created by $xdelta3 -S djw or $xdelta3 -S fgk

( ref #316 )

jpruciak commented 8 months ago

so hdiffz creates fully compatible VCDIFF, but hpatchz can only apply patches created by hdiffz?

sisong commented 8 months ago

I'm sorry I didn't make the situation clear.