Development of Xdelta
For user information on Xdelta, see our user page.
Also see the Xdelta page from Josh Macdonald, the author.
Xdelta and CVS, development ideas
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 page 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, as far as I know, is to speed up access to the tip of a branch. I'm not sure that either RCS or xdelta 0.x really has a good way of handling this, and I haven't looked at the xdelta 1.x stuff yet. Also, from what I've seen, this problem isn't the most pressing performance problem in CVS.
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 anyway. So this should be considered unconfirmed.

![[ Valid XHTML 1.0! ]](/branding/w3c-valid-xhtml10-44x16.png)
![[ Valid CSS! ]](/branding/w3c-valid-css-44x16.png)
