Eskil

Check-in [1754fa90d2]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added markup.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 1754fa90d26bb55f9e267c1307eb9651ca65c9ff
User & Date: peter 2004-08-20 18:21:41.000
Context
2004-08-20
18:23
Fixed a bug in clearcase stream parsing. Removed CrLf option. Added Edit Mode help menu. Made general help window use more Markup. Use Tahoma font on windows. check-in: 00cf5132e2 user: peter tags: trunk
18:21
Added markup. check-in: 1754fa90d2 user: peter tags: trunk
18:17
Polished a bit. check-in: 45ac8981fa user: peter tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to doc/eskil.txt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145


<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.
  Revision Diff     : Select one revision controlled file.
  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 Revision mode, these field are selects versions to be
                    compared.

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>

<
|

|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
|

|
|
|
|

|
|
|
|
|
>
|
|

|
|
|

|
|
|
|

|
|
|
|

|





|
<
<

|
<





|
<
<

|

|
<
<





|
<

|
<
<
<

|

|
<

|
|
|
|
|

|

|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73


74
75

76
77
78
79
80
81


82
83
84
85


86
87
88
89
90
91

92
93



94
95
96
97

98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133

<b><ul>Commands</ul></b>

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

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

  Save default\t: Save current option settings in ~/.eskilrc

<b>Search Menu</b>
  Find      \t: Search dialog
  Find next \t: Repeat search
  Find prev \t: Repeat search backwards

<b>Tools Menu</b>
  New Diff Window \t : Open another diff window.
  Directory Diff  \t : Window for comparing directories
  Clip Diff       \t : Gives two areas where you can paste text and diff them.
  Merge           \t : Perform a two way merge.
  Edit Mode       \t : (new edit mode, to be described)
  Clear Align     \t : Clear alignment info for this diff.  The effect does not
                  \t   show until you do "Redo Diff".

Diff Options Field\t: Any text written here will be passed to diff.
Rev 1/2 Fields    \t: In Revision mode, these field are selects versions to be
                  \t  compared.

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

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

<b><ul>Bindings</ul></b>

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.



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

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.




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

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


<example>Left file: \tRight file:
<pre>NET '/I$1/N$1454' IC2-15 IC5-7  \tNET '/I$1/N$1454' IC1-4 IC2-15 IC5-2 IC5-7
NET '/I$1/N$1455' IC2-14 IC6-8   \tNET '/I$1/N$1456' IC2-12
NET '/I$1/N$1456' IC2-13 IC2-12  \tNET '/I$1/N$1457' IC2-11 IC6-7
NET '/I$1/N$1457' IC2-11 IC6-7   \tNET '/I$1/N$1458' IC2-9
NET '/I$1/N$1458' IC2-10
</pre>
Example 1. No parsing.
<pre><change>1: NET '/I$1/N$1454' IC2-15 IC5-7 \t1: NET '/I$1/N$1454' IC1-4 IC2-15 IC5-2 IC5-7
2: NET '/I$1/N$1455' IC2-14 IC6-8  \t2: NET '/I$1/N$1456' IC2-12
3: NET '/I$1/N$1456' IC2-13 IC2-12 \t</change>
4: NET '/I$1/N$1457' IC2-11 IC6-7  \t3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: NET '/I$1/N$1458' IC2-10        \t4: NET '/I$1/N$1458' IC2-9
</change></pre>
Example 2. Lines and characters
<pre><change>1: NET '/I$1/N$1454' IC2-15 IC5-7  \t1: NET '/I$1/N$1454' IC1-4 IC2-15 IC5-2 IC5-7
2: NET '/I$1/N$1455' IC2-14 IC6-8  \t2: NET '/I$1/N$1456' IC2-12
3: NET '/I$1/N$1456' IC2-13 IC2-12 \t</change>
4: NET '/I$1/N$1457' IC2-11 IC6-7  \t3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: </change>NET '/I$1/N$1458' IC2-<change>10</change>        \t<change>4: </change>NET '/I$1/N$1458' IC2-<change>9</change>
</pre>
Example 3. Blocks and characters
<pre><change>1: </change>NET '/I$1/N$1454' IC2-15 IC5-7  \t<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  \t</new1>
<change>3: </change>NET '/I$1/N$1456' IC2-1<new1>3 IC2-1</new1>2 \t<change>2: </change>NET '/I$1/N$1456' IC2-12
4: NET '/I$1/N$1457' IC2-11 IC6-7  \t3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: </change>NET '/I$1/N$1458' IC2-<change>10</change>        \t<change>4: </change>NET '/I$1/N$1458' IC2-<change>9</change>
</pre>
Example 4. Blocks and words
<pre><change>1: </change>NET '/I$1/N$1454' IC2-15 IC5-7  \t<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  \t</new1>
<change>3: </change>NET '/I$1/N$1456' <new1>IC2-13 </new1>IC2-12 \t<change>2: </change>NET '/I$1/N$1456' IC2-12
4: NET '/I$1/N$1457' IC2-11 IC6-7  \t3: NET '/I$1/N$1457' IC2-11 IC6-7
<change>5: </change>NET '/I$1/N$1458' <change>IC2-10</change>        \t<change>4: </change>NET '/I$1/N$1458' <change>IC2-9</change>
</pre></example>