AminetAminet
Search:
84736 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/misc/xdelta3.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric icon
No screenshot available
Short:binary diff,differential compression tool
Author:Josh McDonald, port by AlexC
Type:util/misc
Version:3.0
Architecture:ppc-amigaos
Date:2008-02-25
Download:util/misc/xdelta3.lha - View contents
Readme:util/misc/xdelta3.readme
Downloads:1131

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>