diff
fldiff 1.1
fldiff is a graphical diff program. more>>
fldiff uses the Fast Light Toolkit (FLTK) and has been tested on AIX, IRIX, Linux, MacOS X, and Solaris, and should also run on Windows.
DiffJ 1.1.2
DiffJ is a commandline application that compares Java files based on content. more>>
Its output is based on the Unix program diff, and it also has a "brief" output format for a concise summary of what changed. It can work on directories recursively, looking for matching filenames, like "diff -r dir0 dir1".
DiffJ is primarily for developers refactoring and reformatting Java code, for which most difference tools tend to produce misleading results regarding the type and extent of changes.
Enhancements:
- The difference comparator of functions (methods and constructors) has been fixed, and the default Java source is now 1.5.
XML::Diff 0.04
XML::Diff is a Perl module for XML DOM-Tree based Diff & Patch Module. more>>
SYNOPSIS
my $diff = XML::Diff->new();
# to generate a diffgram of two XML files, use compare.
# $old and $new can be filepaths, XML as a string,
# XML::LibXML::Document or XML::LibXML::Element objects.
# The diffgram is a XML::LibXML::Document by default.
my $diffgram = $diff->compare(
-old => $old_xml,
-new => $new_xml,
);
# To patch an XML document, an patch. $old and $diffgram
# follow the same formatting rules as compare.
# The resulting XML is a XML::LibXML::Document by default.
my $patched = $diff->patch(
-old => $old,
-diffgram => $diffgram,
);
This module provides methods for generating and applying an XML diffgram of two related XML files. The basis of the algorithm is tree-wise comparison using the DOM model as provided by XML::LibXML.
The Diffgram is well-formed XML in the XVCS namespance and supports update, insert, delete and move operations. It is meant to be human and machine readable. It uses XPath expressions for locating the nodes to operate on. See the below DIFFGRAM section for the exact syntax.
The motivation and alogrithm used by this module is discussed in MOTIVATION below.
sqlt-diff 0.08
sqlt-diff is a Perl module that can find the differences b/w two schemas. more>>
SYNOPSIS
For help:
sqlt-diff -h|--help
For a list of all valid parsers:
sqlt -l|--list
To diff two schemas:
sqlt-diff [options] file_name1=parser file_name2=parser
Options:
-d|--debug Show debugging info
-t|--trace Turn on tracing for Parse::RecDescent
-c|--case-insensitive Compare tables/columns case-insenstiviely
sqlt-diff is a utility for creating a file of SQL commands necessary to transform the first schema provided to the second. While not yet exhaustive in its ability to mutate the entire schema, it will report the following
New tables
Using the Producer class of the target (second) schema, any tables missing in the first schema will be generated in their entirety (fields, constraints, indices).
Missing/altered fields
Any fields missing or altered between the two schemas will be reported as:
ALTER TABLE < table_name >
[DROP < field_name >]
[CHANGE < field_name > < datatype > (< size >)] ;
Missing/altered indices
Any indices missing or of a different type or on different fields will be indicated. Indices that should be dropped will be reported as such:
DROP INDEX < index_name > ON < table_name > ;
An index of a different type or on different fields will be reported as a new index as such:
CREATE [< index_type >] INDEX [< index_name >] ON < table_name >
( < field_name >[,< field_name >] ) ;
"ALTER/DROP TABLE" and "CREATE INDEX" statements are not generated by the Producer, unfortunately, and may require massaging before being passed to your target database.
java-diff 1.0.5
java-diff is a set of Java classes which implement the longest common subsequences algorithm. more>>
java-diff compares the elements in two arrays, returning a list of Difference objects, each of which describes an addition, deletion, or change between the two arrays.
DbDiff 0.2.0
DbDiff project performs a diff between two databases. more>>
It generates the necessary SQL to alter the target database and apply the changes in the proper order to satisfy any constraints that exist while preserving the data in the target database.
Enhancements:
- Support for views, triggers, functions, and procedures.
- Support for replicate/update tables.
Xfdiff 4.5.0
Xfdiff is graphic interface to the GNU diff and patch commands. more>>
You can also apply patches to the hard disc or create patch files for differences between files or directories. All-in-all, a handy utility for lazy chaps who dont want to type the diff command.
Enhancements:
- Code cleanup. Unnecessary dependencies have been removed.
- Now only depends on GTK+ 2.2.0, glib 2.6.0, and libtubo 4.5.0.
tkdiff 4.1.3
tkdiff program is a merge tool and a graphical diff that runs under Unix, Mac OSX and Windows. more>>
It provides a side-by-side view of the differences between two files, along with several innovative features such as diff bookmarks and a graphical map of differences for quick navigation.
The diff program was developed in the early 1970s on the Unix operating system which was emerging from AT&T Bell Labs in Murray Hill, New Jersey. The final version, first shipped with the 5th Edition of Unix in 1974, was entirely written by Douglas McIlroy. This research was published in a 1976 paper co-written with James W. Hunt who developed an initial prototype of diff.
McIlroys work was preceded and influenced by Steve Johnsons comparison program on GECOS and Mike Lesks proof program. Proof originated on Unix and produced line-by-line changes like diff and even used angle-brackets (">" and "<<less
Text::Diff 0.35
Text::Diff can perform diffs on files and record sets. more>>
SYNOPSIS
use Text::Diff;
## Mix and match filenames, strings, file handles, producer subs,
## or arrays of records; returns diff in a string.
## WARNING: can return B diffs for large files.
my $diff = diff "file1.txt", "file2.txt", { STYLE => "Context" };
my $diff = diff $string1, $string2, %options;
my $diff = diff *FH1, *FH2;
my $diff = diff &reader1, &reader2;
my $diff = diff @records1, @records2;
## May also mix input types:
my $diff = diff @records1, "file_B.txt";
diff() provides a basic set of services akin to the GNU diff utility. It is not anywhere near as feature complete as GNU diff, but it is better integrated with Perl and available on all platforms. It is often faster than shelling out to a systems diff executable for small files, and generally slower on larger files.
Relies on Algorithm::Diff for, well, the algorithm. This may not produce the same exact diff as a systems local diff executable, but it will be a valid diff and comprehensible by patch. We havent seen any differences between Algorithm::Diffs logic and GNU diffs, but we have not examined them to make sure they are indeed identical.
Note: If you dont want to import the diff function, do one of the following:
use Text::Diff ();
require Text::Diff;
Thats a pretty rare occurence, so diff() is exported by default.
Data::Diff 0.01
Data::Diff is a data structure comparison module. more>>
SYNOPSIS
use Data::Diff qw(diff);
# simple procedural interface to raw difference output
$out = diff( $a, $b );
# OO usage
$diff = Data::Diff->new( $a, $b );
$new = $diff->apply();
$changes = $diff->diff_a();
Data::Diff computes the differences between two abirtray complex data structures.
METHODS
Creation
new Data::Diff( $a, $b, $options )
Creates and retruns a new Data::Diff object with the differences between $a and $b.
Access
apply( $options )
Returns the result of applying one side over the other.
raw()
Returns the internal data structure that describes the differences at all levels within.
Functions
Diff( $a, $b, $options )
Compares the two arguments $a and $b and returns the raw comparison between the two.
EXPORT
Nothing by default but you can choose to export the non-OO function Diff().
Diffstat 1.43
Diffstat reads the output of the diff command and displays a histogram of the insertions, deletions, and modifications in files. more>>
It is commonly used to provide a summary of the changes in large, complex patch files.
Enhancements:
- A bugfix to avoid modifying data that is being used by tsearch() for ordering the binary tree.
BashDiff 1.43
Bash.Diff is a patch against Bash that incorporates many useful features from Awk, Python, Zsh, Ksh, and others. more>>
In the main core, it adds the following: new brace expansion {a..b}, new parameter expansion ${var|...}, new command substitution $(=...), extended for, while, and until loops, extended case statement, new try-block with integer exception, and new here document<<less
cvsgdiff 0.04
cvsgdiff uses tkdiff or mgdiff to graphically display diffs between CVS revisions of a file in your sandbox. more>>
If given no arguments, cvsgdiff will launch the graphical diff program once for every modified file in the current directory.
If given one or more filenames as arguments, cvsgdiff diplays the diffs of each file. If given a revision, cvsgdiff will display the diffs between the file in your sandbox and the BASE revision in CVS. If given two revisions, cvsgdiff will display the diffs between the two revisions in CVS for the given file. The files in your sandbox are not touched.
cvsgdiff works by checking out the specified (or defaults to BASE) revision of the specified file(s) into your tmp directory and then launches a graphics diff program to display the differences.
The files in your tmp directory are then removed when you exit the graphical diff program. cvsgdiff currently supports tkdiff and mgdiff. It first checks the environment variable GDIFF. If it is set, that program will be tried first. If the GDIFF environment variable specifies an absolute path but does not exist, cvsgdiff will then look for tkdiff and mgdiff.
LibXDiff 0.23
LibXDiff is designed as a library which implements basic and yet complete functionalities to create file differences/patches to both binary and text files. more>>
LibXDiff 0.23 is designed as a library which implements basic and yet complete functionalities to create file differences/patches to both binary and text files. The library uses memory files as file abstraction to achieve both performance and portability. For binary files, LibXDiff implements both (with some modification) the algorithm described in File System Support for Delta Compression by Joshua P. MacDonald, and the algorithm described in Fingerprinting By Random Polynomials by Michael O. Rabin.
While for text files it follows directives described in An O(ND) Difference Algorithm and Its Variations by Eugene W. Myers. Memory files used by the library are basically a collection of buffers that store the file content. There are two different requirements for memory files when passed to diff/patch functions. Text files for diff/patch functions require that a single line do not have to spawn across two different memory file blocks. Binary diff/patch functions require memory files to be compact. A compact memory files is a file whose content is stored inside a single block.
Major Features:
- Functionalities inside the library are available to satisfy these rules. Using the XDL_MMF_ATOMIC memory file flag it is possible to make writes to not split the written record across different blocks, while the functions xdl_mmfile_iscompact() , xdl_mmfile_compact() and xdl_mmfile_writeallocate() are usefull to test if the file is compact and to create a compacted version of the file itself.
- The text file differential output uses the raw unified output format, by omitting the file header since the result is always relative to a single compare operation (between two files).
- The output format of the binary patch file is proprietary (and binary) and it is basically a collection of copy and insert commands, like described inside the MacDonald paper.
- The library is compatible with almost every Unix implementation (configure script) and it is also compatible with Windows through custom (nmake) make files. Examples are available inside the test subdirectory of the distribution tarball that show how to use the library. Also, inside the same subdirectory, a regression test in available that tests the library with random data by requiring a diff followed by a patch and comparing results. Regression tests ran successfully for days on my Linux, Solaris, FreeBSD and Windows boxes, and this makes you believe that the library itself is completely ready for production (despite the version number).
<<less
kdiff-ext 0.3.0
kdiff-ext is an extension for the Konqueror file manager that allows the user to launch diff and merge tools on selected files. more>>
Copyright (c)2005-2009 WareSeeker.com. All rights reserved.