|
84736 packages online
|
|
|
|
|
|
No screenshot available
|
|
xdelta3 - A modern equivalent to SAS/C scompare/spatch
DESCRIPTION:
This is a quick OS4 port of the very latest beta of xdelta3 from
http://xdelta.org or http://xdelta.googlecode.com
It extracts the differences between two versions of a file and saves it to a
.delta file which can then be used to recreates the new version.
It is most useful for online distribution of updates to very large files, such
as ISO images or programs archives adding up to dozens or hundreds of megabytes
because only the (compressed) difference need to be downloaded rather than the
whole archive/file.
I didn't plan on doing this but that's what I get for telling Jörg Strohmayer
that it would be nice to have a working native scompare/spatch combo :-P
He mentionned xdelta, one thing lead to another, and with his guidance I was
able to compile it while he also provided a miniature version of decoder-only
version of xdelta3 (xdelta3-decoder) which is small enough to be distributed
along with .delta updates like "spatch" would be with .pch files.
The only feature which isn't enabled in this port is the external compression,
due to its reliance on fork() and a few other functions which would require
some replacement to be hard-coded.
It doesn't reduce the functionality of the program though.
64bit support (files larger than 4GB) hasn't been tested so beware.
Some advantages over spatch are:
- speed, xdelta3 is at least 5x faster,
- size, the .delta file produced is significantly smaller than a .pch file,
- cross-platform, .delta files can be read/written on Win/Linux/OSX
EXAMPLES:
Say you have FileA, made some changes and saved it as FileB.
Now if you want to send only the changes to someone, you can generate a delta
file with the following command:
xdelta3 -s FileA FileB FileAB.delta
Then you could send xdelta3-decoder along with FileAB.delta to that someone
and he would use the following command:
xdelta3-decoder -s FileA FileAB.delta
which would recreate FileB (the original filename is stored in the delta file).
To recreate FileB with a different filename:
xdelta3-decoder -s FileA FileAB.delta FileXYZ
COMPILING:
Get the sources from http://xdelta.googlecode.com/files/xdelta3.0t.tar.gz
Normally it should be enough to use 'gmake xdelta3-noext' but with my
SDK with gcc 3.4.4 that doesn't work so I had to use:
gcc -mcrt=newlib -Os -msdata -mmultiple -Wall -Wshadow xdelta3.c
-DXD3_ENCODER=1-DXD3_MAIN=1 -DSECONDARY_FGK=1 -DSECONDARY_DJW=1
-DXD3_STDIO=1 -DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=1 -o R:xdelta3
Thanks to Jöerg for the help and to Josh McDonald for xdelta
|
Contents of util/misc/xdelta3.lha
PERMSSN UID GID PACKED SIZE RATIO METHOD CRC STAMP NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic] 4409 5061 87.1% -lh5- 02a3 Dec 27 01:04 xdelta3.info
[generic] 7015 18009 39.0% -lh5- e98e Mar 6 2007 xdelta3/COPYING
[generic] 579 1067 54.3% -lh5- 7550 Nov 8 21:07 xdelta3/README
[generic] 579 1067 54.3% -lh5- 7550 Mar 25 2007 xdelta3/readme.txt
[generic] 47388 103372 45.8% -lh5- ff28 Dec 26 20:08 xdelta3/xdelta3
[generic] 17992 18304 98.3% -lh5- 8b1b Dec 26 19:05 xdelta3/xdelta3-decoder
[generic] 2181 4929 44.2% -lh5- 0c70 Dec 27 01:03 xdelta3/xdelta3.readme
[generic] 4149 4920 84.3% -lh5- 1d02 Dec 27 01:07 xdelta3/xdelta3.readme.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
Total 8 files 84292 156729 53.8% Feb 24 17:25
|
|
|
|
Page generated in 0.02 seconds |
Aminet © 1992-2024 Urban
Müller and the Aminet team.
Aminet contact address: <aminetaminet net> |