incava.org

DiffJ a command-line program based on diff (from Unix), but is designed specifically for Java code. It compares only Java source code, not whitespace nor comments. It also handles reorganization of Java code, so that, for example, methods that have been moved within the same class -- but have not otherwise changed -- are not considered to be different. (This is helpful when refactoring.)

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

See an example, read the man page, or download it.

Valid HTML 4.01!

Valid CSS!