Algorithm-GDiffDelta

 view release on metacpan or  search on metacpan

GDiffDelta.pm  view on Meta::CPAN

except that it can efficiently represent the differences between
similar binary files, containing any sequences of bytes.  These
deltas can be used for updating files over a network (as C<rsync>
does) or for efficiently storing a revision history of changes to
a file (as Subversion does).

There are several formats used for binary deltas.  The one supported
by this module is the GDIFF format, which is fairly simple and is
documented as a W3C note (See the SEE ALSO section below).

This module generates and processes deltas using file handles.
It supports both native Perl file handles (created with the built-in
C<open> format) and objects that support the right methods.
For an object to work it must support at least the C<read>, C<seek>,
and C<tell> methods (if it is an input file) or the C<write> method
(if it is an output file).  This allows strings to be used for input
and output, by wrapping them in an L<IO::Scalar|IO::Scalar> object
or similar.  A future version of this module might support reading
and writing directly through references to scalars, because that
should be much more efficient.

TODO  view on Meta::CPAN

 * Add support for passing references to scalars in instead of file
   handles.  That should be much more efficient than using IO::Scalar.
   Then remove the note suggesting this from the POD.

 * It probably leaks memory everywhere.  Fix it up and valgrind it.

 * Proper testing of some of the inner bits in test.c

 * require IO::Scalar? or just recommend?

 * Make sure that 2.gdiff is generated during release process automatically.



( run in 0.317 second using v1.01-cache-2.11-cpan-8d75d55dd25 )