Eskil

eskil.txt at [e7457e54e4]
Login

File doc/eskil.txt artifact e2b59b833c part of check-in e7457e54e4



<ul>Commands</ul>

File Menu
  Redo Diff         : Run diff again on the same files.
  Open Both         : Select two files, run diff.
  Open Left File    : Select a file for left window, run diff
  Open Right File   : Select a file for right window, run diff
  Open Conflict File: Select a file containing conflicts such as from
                      a CVS merge.
  Open Patch File   : Display a patch file created by diff -c or diff -u.
  RCSDiff           : Select one file and diff like rcsdiff.
  CVSDiff           : Select one file and diff like cvs diff.
  Print             : Experimental print function.
                      It currently creates a postscript file ~/eskil.ps
  Close             : Close this window.
  Quit              : Guess

Options Menu
  Font     : Select font and fontsize for the two main text windows
  Ignore   : Diff options for handling whitespace
  Parse    : Additional parsing made by Eskil to improve the display.
             See examples below.
             Nothing: No parsing made.
             Lines  : When there is a changed block with the same number
                      of lines in both right and left files, Eskil
                      compares corresponding lines and tries to highlight
                      only the part that has been changed.
             Blocks : When the number of lines in a changed block is not
                      the same in both files, Eskil tries to find lines
                      that look the same and place them abreast. The "small"
                      version do not parse big blocks to avoid long runs.
             The Char and Word options selects if the line parsing should
             highlight full words only, or check single characters.
             Mark last  : Last change of a line is underlined
  Colours  : Choose highlight colours.
  Context  : You can select that only differing lines shall be displayed,
             and how many surrounding lines are shown.
  Force crlf translation : (Windows only) Use crlf mode when reading files.
  Save default: Save current option settings in ~/.eskilrc

Search Menu
  Find     : Search dialog
  Find next : Repeat search
  Find prev : Repeat search backwards

Tools Menu
  New Diff Window   : Open another diff window.
  Directory Diff    : Window for comparing directories
  Clip Diff         : Gives two areas where you can paste text and diff them.
  Merge             : Perform a two way merge.
  Clear Align       : Clear alignment info for this diff.  The effect does not
                      show until you do "Redo Diff".

Diff Options Field: Any text written here will be passed to diff.
Rev 1/2 Fields    : In RCS/CVS mode, these field are passed as -r options to
                    diff, to select versions.

Prev Diff Button: Scrolls to the previous differing block, or to the top
                  if there are no more diffs.
Next Diff Button: Scrolls to the next differing block, or to the bottom
                  if there are no more diffs.

Equal sign: Above the vertical scrollbar, a "=" will appear if the files
            are equal. While the external diff executes a "*" is shown
            and is replaced with "=" or "" before the files are displayed
            to give that information early.

<ul>Bindings</ul>

Up, Down, Page Up and Page Down scrolls main windows.

Escape takes focus out of text windows.

Right mouse button "zooms" a line of text. If the text under the cursor
is selected, a menu appears where the selected text can be used for a
separate diff.

Ctrl-s starts incremental search. Incremental search is stopped by Escape
or Ctrl-g.

Ctrl-f brings up search dialog. F3 is "search again".

Left mouse click on the line number of a diff highlights it.

Right mouse click on the line number of a diff gives a menu where it can
be selected for separate diff. This can be used to check a block that has
been moved.

<ul>Merge Window (Appears in conflict mode, or when selecting Merge)</ul>

You can, for each difference, select which version you want to appear
in the output file. The buttons "LR", "L", "R" and "RL" select the
lines from the left file, right file or both files.
"Prev" and "Next" buttons moves between differences.
"All L" and "All R" buttons select "L" or "R" for all differences.
"Pure" ...
"Save" saves the merge result to a file.

On the keyboard, Up and Down keys means the same as "Prev" and "Next".
Left and Right keys selects "L" and "R".

When saved it is the contents of the text widget that is saved which
means you can hand edit there if you are careful. E.g. you can't use
cursor keys, but you can type text, delete text and copy/paste with
mouse assistance.

<ul>Examples of effects of parse options.</ul>

Below are two example files, and five different results when using
different options with those files.

Left file:                       Right file:
NET '/I$1/N$1454' IC2-15 IC5-7   NET '/I$1/N$1454' IC1-4 IC2-15 IC5-2 IC5-7
NET '/I$1/N$1455' IC2-14 IC6-8   NET '/I$1/N$1456' IC2-12
NET '/I$1/N$1456' IC2-13 IC2-12  NET '/I$1/N$1457' IC2-11 IC6-7
NET '/I$1/N$1457' IC2-11 IC6-7   NET '/I$1/N$1458' IC2-9
NET '/I$1/N$1458' IC2-10

Example 1. No parsing.
<change>1: NET '/I$1/N$1454' IC2-15 IC5-7   1: NET '/I$1/N$1454' IC1-4 IC2-15 IC5-2 IC5-7
2: NET '/I$1/N$1455' IC2-14 IC6-8   2: NET '/I$1/N$1456' IC2-12
3: NET '/I$1/N$1456' IC2-13 IC2-12  </change>
4: NET '/I$1/N$1457' IC2-11 IC6-7   3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: NET '/I$1/N$1458' IC2-10         4: NET '/I$1/N$1458' IC2-9
</change>
Example 2. Lines and characters
<change>1: NET '/I$1/N$1454' IC2-15 IC5-7   1: NET '/I$1/N$1454' IC1-4 IC2-15 IC5-2 IC5-7
2: NET '/I$1/N$1455' IC2-14 IC6-8   2: NET '/I$1/N$1456' IC2-12
3: NET '/I$1/N$1456' IC2-13 IC2-12  </change>
4: NET '/I$1/N$1457' IC2-11 IC6-7   3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: </change>NET '/I$1/N$1458' IC2-<change>10</change>         <change>4: </change>NET '/I$1/N$1458' IC2-<change>9</change>

Example 3. Blocks and characters
<change>1: </change>NET '/I$1/N$1454' IC2-15 IC5-7   <change>1: </change>NET '/I$1/N$1454' IC<new2>1-4 IC</new2>2-15<new2> IC5-2</new2> IC5-7
<change>2: </change><new1>NET '/I$1/N$1455' IC2-14 IC6-8   </new1>
<change>3: </change>NET '/I$1/N$1456' IC2-1<new1>3 IC2-1</new1>2  <change>2: </change>NET '/I$1/N$1456' IC2-12
4: NET '/I$1/N$1457' IC2-11 IC6-7   3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: </change>NET '/I$1/N$1458' IC2-<change>10</change>         <change>4: </change>NET '/I$1/N$1458' IC2-<change>9</change>

Example 4. Blocks and words
<change>1: </change>NET '/I$1/N$1454' IC2-15 IC5-7   <change>1: </change>NET '/I$1/N$1454' <new2>IC1-4 </new2>IC2-15<new2> IC5-2</new2> IC5-7
<change>2: </change><new1>NET '/I$1/N$1455' IC2-14 IC6-8   </new1>"\n" ""
<change>3: </change>NET '/I$1/N$1456' <new1>IC2-13 </new1>IC2-12  <change>2: </change>NET '/I$1/N$1456' IC2-12
4: NET '/I$1/N$1457' IC2-11 IC6-7   3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: </change>NET '/I$1/N$1458' <change>IC2-10</change>         <change>4: </change>NET '/I$1/N$1458' <change>IC2-9</change>