After some serious production use, I want
to recommend to the list xdelta:
http://sourceforge.net/projects/xdelta/ (sources)
http://www.xcf.berkeley.edu/~jmacd/xdelta.html (theory)
http://www.eng.uwaterloo.ca/~ejones/software/xdelta-win32.html (win32
binary)
It's a very reasonable binary diff tool, which
adequately handles huge files (think CD image size).
If you routinely send e.g. daily builds of your game
in reasonably final form (huge data size, relatively minor changes)
to an off-site customers/publishers/testers/localizers etc.,
this can be very useful for you.
We send a 400-ish MB build to our publisher, and on
days with only bugfixes in the new build the delta files
are on the order of 2-4 MB, while on days when significant amount
of new assets are imported in the game, the delta is comparable
with the zipped size of the new assets.
If you want to build it into your own code, it's not a
no-brainer (is there a word yes-brainer?) because it uses some
funky Linux system lib; you might want to check out zdelta:
http://cis.poly.edu/zdelta/
which:
- performes better on small files (read: individual files, not tarballs)
- breaks down on huge files (they promise to improve this very soon)
- is essentially a modified zlib, so you can integrate it into your code
in like 10 minutes.
regards,
Assen
|