DiffJ

DiffJ is like the Unix program diff, but specifically for Java code. It compares Java source files so that only the code is compared, not whitespace nor comments. Output is also specific to Java code, showing, for example, methods that have been moved, parameters that have renamed, and exceptions added. For code within methods, the method name is displayed. A more complete list of features:

  • packages renamed
  • imports added and removed
  • types (classes and interfaces) added and removed
  • methods added and removed
  • fields added and removed
  • code changed within methods and constructors, and for field initializers
  • access changed
  • changes in method/ctor throws list

Releases

version date changes
1.0.0 2006-05-23 Initial version.
1.0.1 Refined diff code for separate public release. Improved documentation. Added javadoc generation.
1.0.5 2006-05-23 Significant performance improvement for large files.
1.0.6 2006-09-18 Fixed bug in diff algorithm.
1.0.7 2006-09-18 Significant performance improvement. Modified startup script to allocate more heap size.
1.1.0 2006-09-18 Rewritten to process Java 1.3, 1.4, and 1.5. Significant performance improvements.
1.1.1 2006-09-18 Fix to difference algorithm. Improved handling of parsing/tokenizing errors.
1.1.2 2007-08-10 Fix to difference comparator of functions (methods and constructors). Changed the default Java source to 1.5.
1.1.3 2007-11-15 Changed so that output of code added and deleted more closely matches diff.
1.1.4 2009-04-26 Fixed NPE when displaying output for changed imports and no types declared. (Thanks, Frank.) Added handling of 1.3, 1.4, 1.5, and 1.6 source. Changed default version to 1.5.
1.2.0 2011-11-13 This version adds colorization of differences. The -u parameter is now handled for compatibility with svn.
1.2.1 2011-11-23 This version fixes a bug in 1.2.0 where output defaulted to verbose.

Tags

java


« All Projects