It can also apply deltas, that is given the
original file and a delta it can produce the second
file. The delta algorithm is faster than GNU diff
for text files and works well on binary files too.
Xdelta also includes advanced features designed for
use by version control systems such as CVS or PRCS. The
exact form of these features changed pretty
dramatically between Xdelta 0.x and Xdelta 1.x, so
consult the Xdelta documentation if this interests
you.
Development of Xdelta
No one has yet integrated Xdelta into CVS, but
doing so would provide improvements in handling
binary files, particularly with respect to disk
and/or bandwidth usage. The rest of this section is
aimed at developers who may be interested in
working on this.
The first and easiest way to use Xdelta would be
in the remote protocol, to replace the "Rcs-diff"
response. What makes this particularly easy is that
there are no hairy compatibility issues; CVS's
repository and working directory formats would be
unchanged.
The second way would be to replace GNU diff in
generating the individual deltas in RCS files. This
would be relatively easy, and could reduce the disk
space required for the CVS repository. Note that
this would not entail using the archival features
of Xdelta. One would want make this an option, so
that people could choose the traditional CVS
repository format if desired.
The final way would be to use the archival
features of Xdelta to replace RCS files. This would
be a bigger project, although it depends of course
on how closely the design resembled RCS files. The
main problem that this is trying to solve is to
speed up access to the tip of a branch.
Standardizing Binary Deltas
The
GDIFF (generic difference) proposal to the W3C
would standardize a file format for describing
differences between two files (similar to the
Xdelta format).
Items for Xdelta 0.22
There was an apparent bug
in Xdelta 0.22, whereby either the delta generation
or the delta application seems to corrupt the data.
However, the Xdelta maintainer reports never being
able to reproduce this, and Xdelta 0.22 is fairly
old relative to the latest downloads. So this
should be considered unconfirmed.
|