Eskil

Check-in [973d18ceb6]
Login

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

Overview
Comment:Added GUI for selecting ancestor
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 973d18ceb6694ea2b277427e120bfc530e2fab2d
User & Date: peter.spjuth@gmail.com 2011-05-03 21:16:48.000
Context
2011-05-03
21:37
Merge branch 'master' into tablelist check-in: 93bf0308fc user: peter.spjuth@gmail.com tags: table-list
21:16
Added GUI for selecting ancestor Closed-Leaf check-in: 973d18ceb6 user: peter.spjuth@gmail.com tags: trunk
2011-04-30
01:14
Updated date and version check-in: b1a5dffb2b user: peter.spjuth@gmail.com 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
<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 PDF       \t: Print diff to PDF file.
  Close           \t: Close this window.
  Quit            \t: Guess







>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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 Ancestor File\t: Select ancestor for threeway diff, rerun and merge
  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 PDF       \t: Print diff to PDF file.
  Close           \t: Close this window.
  Quit            \t: Guess
Changes to doc/tutorial.txt.
35
36
37
38
39
40
41








42
43
44
45
46
47
48
Now those lines are remembered, and you could add more alignment pairs before you proceed with regenerating the view.

<bullet>\u2022\tSelect menu File->Redo Diff.</bullet>

Scroll down and see that the lines are next to each other.  Also note that their line numbers are underlined.
You can clear the alignment information in the right-click menu over a line or by selecting the menu Tools->Clear Align.









<b>Regular expression preprocessing</b>

Double click on enum.c to bring up the diff.
[write something here to explain the problem and the goal]
[add reference to re_syntax and regsub manuals]
<bullet>
\u2022\tSelect menu Options->Preprocess.







>
>
>
>
>
>
>
>







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Now those lines are remembered, and you could add more alignment pairs before you proceed with regenerating the view.

<bullet>\u2022\tSelect menu File->Redo Diff.</bullet>

Scroll down and see that the lines are next to each other.  Also note that their line numbers are underlined.
You can clear the alignment information in the right-click menu over a line or by selecting the menu Tools->Clear Align.

<b>Three way merge</b>
<bullet>
\u2022\tDouble click on merge.txt to bring up the diff.
\u2022\tSelect menu File->Open Ancestor File.
\u2022\tSelect file mergeanc.txt
</bullet>
The merge window will appear with most changes merged.  Conflicts are marked with gray, and a row of asterisks in the status bar.  Conflicts are resolved to the right initially.  Navigate between conflicts using shift-up/down keys. Select side with left/right keys.

<b>Regular expression preprocessing</b>

Double click on enum.c to bring up the diff.
[write something here to explain the problem and the goal]
[add reference to re_syntax and regsub manuals]
<bullet>
\u2022\tSelect menu Options->Preprocess.
Added examples/dir1/merge.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
0
1
Added left
x
2
3
4
Added right
5
6
7
Changed same
8a
9
10
Changed different
12a
13
14
Deleted left
17
18
Deleted right
19
20
21
Left: Add+change Right: change
xx
22a
23
24
Left: change Right add+change
25a
26
27
Left: Delete  Right: change
29
30
Left: change  Right: delete
31a
32
33
Added same
xxx
34
35
36
Deleted same
38
39
Changed adjacent
40a
41
42
Left: Add+change Right: change same
xxxx
43a
44
45
Left: change same Right: add+change
46a
47
48
Left: change Right: deleted block
49
50a
51
52
Added different
xxxxx
53
54
55
Left mixed change
57x
59
60
Right mixed change
61
62
63
64
65
Both added multiple
xx1
xx2
66
67
Added examples/dir1/mergeanc.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
0
1
Added left
2
3
4
Added right
5
6
7
Changed same
8
9
10
Changed different
12
13
14
Deleted left
16
17
18
Deleted right
19
20
21
Left: Add+change Right: change
22
23
24
Left: change Right add+change
25
26
27
Left: Delete  Right: change
28
29
30
Left: change  Right: delete
31
32
33
Added same
34
35
36
Deleted same
37
38
39
Changed adjacent
40
41
42
Left: Add+change Right: change same
43
44
45
Left: change same Right: add+change
46
47
48
Left: change Right: deleted block
49
50
51
52
Added different
53
54
55
Left mixed change
56
57
58
59
60
Right mixed change
61
62
63
64
65
Both added multiple
66
67
Added examples/dir2/merge.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
0
1
Added left
2
3
4
Added right
y
5
6
7
Changed same
8a
9
10
Changed different
12b
13
14
Deleted left
16
17
18
Deleted right
20
21
Left: Add+change Right: change
22b
23
24
Left: change Right add+change
yy
25b
26
27
Left: Delete  Right: change
28a
29
30
Left: change  Right: delete
32
33
Added same
xxx
34
35
36
Deleted same
38
39
Changed adjacent
40
41a
42
Left: Add+change Right: change same
43a
44
45
Left: change same Right: add+change
yyyy
46a
47
48
Left: change Right: deleted block
52
Added different
yyyyy
53
54
55
Left mixed change
56
57
58
59
60
Right mixed change
61x
63x
64
65
Both added multiple
yy1
yy2
66
67
Changes to src/eskil.tcl.
1987
1988
1989
1990
1991
1992
1993



















1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009







2010
2011
2012
2013
2014
2015
2016
        set ::diff($top,rightFile) $apa
        set ::diff($top,rightLabel) $apa
        set ::diff($top,rightOK) 1
        return 1
    }
    return 0
}




















proc openLeft {top} {
    if {[doOpenLeft $top]} {
        set ::diff($top,mode) ""
        set ::diff($top,mergeFile) ""
        doDiff $top
    }
}

proc openRight {top} {
    if {[doOpenRight $top]} {
        set ::diff($top,mode) ""
        set ::diff($top,mergeFile) ""
        doDiff $top
    }
}








proc openConflict {top} {
    global Pref
    if {[doOpenRight $top]} {
        startConflictDiff $top $::diff($top,rightFile)
        set ::diff($top,mergeFile) ""
        doDiff $top







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
















>
>
>
>
>
>
>







1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
        set ::diff($top,rightFile) $apa
        set ::diff($top,rightLabel) $apa
        set ::diff($top,rightOK) 1
        return 1
    }
    return 0
}

proc doOpenAncestor {top} {
    if {$::diff($top,ancestorFile) ne ""} {
        set initDir [file dirname $::diff($top,ancestorFile)]
    } elseif {[info exists ::diff($top,leftDir)]} {
        set initDir $::diff($top,leftDir)
    } elseif {[info exists ::diff($top,rightDir)]} {
        set initDir $::diff($top,rightDir)
    } else {
        set initDir [pwd]
    }
    set apa [myOpenFile -title "Select ancestor file" -initialdir $initDir \
            -parent $top]
    if {$apa != ""} {
        set ::diff($top,ancestorFile) $apa
        return 1
    }
    return 0
}

proc openLeft {top} {
    if {[doOpenLeft $top]} {
        set ::diff($top,mode) ""
        set ::diff($top,mergeFile) ""
        doDiff $top
    }
}

proc openRight {top} {
    if {[doOpenRight $top]} {
        set ::diff($top,mode) ""
        set ::diff($top,mergeFile) ""
        doDiff $top
    }
}

proc openAncestor {top} {
    if {[doOpenAncestor $top]} {
        # Redo diff with ancestor
        doDiff $top
    }
}

proc openConflict {top} {
    global Pref
    if {[doOpenRight $top]} {
        startConflictDiff $top $::diff($top,rightFile)
        set ::diff($top,mergeFile) ""
        doDiff $top
2670
2671
2672
2673
2674
2675
2676


2677
2678
2679
2680
2681
2682
2683
    $top.m.mf add command -label "Open Both (forget)..." \
            -command [list openBoth $top 1]
    $top.m.mf add command -label "Open Left File..." \
            -command [list openLeft $top]
    $top.m.mf add command -label "Open Right File..." \
            -command [list openRight $top]
    $top.m.mf add separator


    $top.m.mf add command -label "Open Conflict File..." \
            -command [list openConflict $top]
    $top.m.mf add command -label "Open Patch File..." \
            -command [list openPatch $top]
    $top.m.mf add command -label "Revision Diff..." -underline 0 \
            -command [list openRev $top]
    $top.m.mf add separator







>
>







2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
    $top.m.mf add command -label "Open Both (forget)..." \
            -command [list openBoth $top 1]
    $top.m.mf add command -label "Open Left File..." \
            -command [list openLeft $top]
    $top.m.mf add command -label "Open Right File..." \
            -command [list openRight $top]
    $top.m.mf add separator
    $top.m.mf add command -label "Open Ancestor File..." \
            -command [list openAncestor $top]
    $top.m.mf add command -label "Open Conflict File..." \
            -command [list openConflict $top]
    $top.m.mf add command -label "Open Patch File..." \
            -command [list openPatch $top]
    $top.m.mf add command -label "Revision Diff..." -underline 0 \
            -command [list openRev $top]
    $top.m.mf add separator