JDiff Plugin @@build.num@@

Authors: André Kaplan, Mark Wickens, Dale Anson

Legal Notice

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, Front-Cover Texts or Back-Cover Texts, each as defined in the license. A copy of the license can be found in the file COPYING.DOC.txt included with jEdit.


Presentation
Usage
Display
Other commands
Options
License
Feedback
Change log
Credits


Presentation

JDiffPlugin is a visual diff and merge utility for jEdit.

It features:


Usage

The simplest method is to open the Dual Diff Dialog (Plugins -> JDiff -> Show dual diff dialog) and choose the files to compare.

But you can also:

  1. Split your view in two (vertically)

  2. Edit the buffers you want to compare:

    • the buffer on the left is the original

    • the buffer on the right is the revision

  3. Activate JDiff: Plugins > JDiff> Dual Diff

Or if you have JDiff docked:

  1. Open the dockable.
  2. Click the 'Diff' button:

Figure 1 shows the result


Display

Once JDiff is activated as in Figure 1, you should see:

Color conventions

By default:

Local overview

The local overview shows how the visible changed/inserted/deleted blocks from the original and the revision relate to each other. Merging between files can be performed by clicking a right arrow in the local overview, which will select the corresponding text from the original and replace the related text in the revision. The blocks to be merged are indicated by vertical black bars so it is obvious which code is moving. Clicking a left arrow in the local overview will select the corresponding text block from the revision and replace the related text in the original. Note that the code moves are by block, not by line, so the entire diff will be moved.

Global overview

The global overview should help you estimate how the two edited buffers differ. It also displays two cursors which indicate the visible parts of the two buffers. Clicking within the global overview will move the view to the corresponding part of the file.

Line overview

The line overview shows character-by-character differences between the current cursor lines within a diff block. This makes it easy to see the difference of even a single character change between the left and right lines. This overview only shows one line at a time of the diff block, move the cursor within the block to see the individual line differences for each line.

Merge controls

The merge control has 8 buttons. From left to right in horizontal mode:

  1.   Start a diff.
  2.   Unsplit the view, which ends the diff session.
  3.   Move to next diff.
  4.   Move current diff to right. This replaces the diff block on the right with the text from the left diff block. If used with the Shift key, this will move all non-conflicting diff blocks at once.
  5.   Move current diff to left. This replaces the diff block on the left with the text from the right diff block. If used with the Shift key, this will move all non-conflicting diff blocks at once.
  6.   Move to previous diff.
  7.   Swap text areas, that is, put the file that was on the left on the right, and put the file that was on the right on the left.
  8.   Refresh the diff.

The merge controls can also be displayed vertically or in a compact form (as shown in the image above), and with or without the line overview. The vertical display is convenient for the left or right docking areas. The horizontal layout works well in the top or bottom docking areas. The compact layout uses less vertical space in the top or bottom docking areas when the line overview is also displayed.


Other commands

These commands are available on the plugin menu:


JDiff Options

These settings can be made in the JDiff General options panel, Plugins -> Plugin Options... -> JDiff Plugin -> General

Diff options

You can configure how JDiff performs a diff. JDiff can:

There are two performance settings:

UI Options

You can control these user interface options:

Control layout

Merge control layout

Colors

These settings can be made in the JDiff Colors options panel, Plugins -> Plugin Options... -> JDiff Plugin -> Colors

You can configure the colors of:

These colors are applied in the text area, the local and global overviews, and the line diff. In the text area and local and global overviews, the colors are applied per diff chunk. In the line diff, the colors are applied per character, so it is easy to tell exactly the difference between two lines.

License

The source code is distributed under the GPL. Please see http://www.fsf.org/copyleft/gpl.html


Feedback

The preferred way to send bug reports is to use the Sourceforge Bug Tracker at http://sourceforge.net/bugs/?group_id=588

You can also write to:


History


Credits