org.apache.commons.jrcs.diff |
The {@link org.apache.maven.jrcs.diff diff} package implements
the differencing engine that JRCS uses. The engine has the power
of Unix diff, is simple to understand, and can be used
independently of the archive handling functionality. The entry
point to the differencing engine is class {@link
org.apache.maven.jrcs.diff.Diff Diff}.
Text is represented as Object[] because the diff
engine is capable of handling more than plain ascci. In fact,
arrays of any type that implements {@link
java.lang.Object#hashCode hashCode()} and {@link
java.lang.Object#equals equals()} correctly can be subject to
differencing using this library.
Two implementations of the differencing algorithm are provided.
-
{@link SimpleDiff Simple Diff} is a verys imple algorithm that
is fast and works well with very large input sequences, but
that frequently produces result that are subotimal (at times
four or more times larger than GNU diff).
-
{@link org.apache.commons.jrcs.diff.myers.MyersDiff MyersDiff}
is an implementation of Gene Myers
differencing algorithm. Myer's algorithm produces optimum
results (minimum diffs), but consumes considerably more memory
than SimpleDiff, so its not suitable for very large files.
@author Juanco Anez
@version $Id: package.html 2891 2005-10-25 17:30:31Z ian@caret.cam.ac.uk $
@see Diff
@see org.apache.maven.jrcs.rcs.Archive
|
Java Source File Name | Type | Comment |
AddDelta.java | Class | Holds an add-delta between to revisions of a text. |
ChangeDelta.java | Class | Holds an change-delta between to revisions of a text. |
Chunk.java | Class | Holds a information about a parrt of the text involved in a differencing or
patching operation. |
DeleteDelta.java | Class | Holds a delete-delta between to revisions of a text. |
Delta.java | Class | Holds a "delta" difference between to revisions of a text. |
Diff.java | Class | Implements a differencing engine that works on arrays of
Object Object .
Within this library, the word text means a unit of information
subject to version control.
Text is represented as Object[] because the diff engine is
capable of handling more than plain ascci. |
DiffAlgorithm.java | Interface | A simple interface for implementations of differencing algorithms. |
DifferentiationFailedException.java | Class | Thrown whenever the differencing engine cannot produce the differences
between two revisions of ta text. |
DiffException.java | Class | Base class for all exceptions emanating from this package. |
DiffTest.java | Class | |
MyersDiffTests.java | Class | |
PatchFailedException.java | Class | Thrown whenever a delta cannot be applied as a patch to a given text. |
Revision.java | Class | A Revision holds the series of deltas that describe the differences between
two sequences. |
RevisionVisitor.java | Interface | |
SimpleDiff.java | Class | Implements a simple differencing algortithm.
version: $Revision: 7756 $ author: Juanco Anez author: author: Overview of Algorithm author:
author: author: by bwm author:
author: author: The algorithm is optimised for situations where the input sequences author: have few repeated objects.
|
SimpleDiffTests.java | Class | |