Eskil

Check-in [fe25c21c58]
Login

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

Overview
Comment:Started on fourway diff.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: fe25c21c58cb5349dc793c64dcba3c759581e8ff7f6afbbdaa6a5c0a443e449b
User & Date: peter 2018-05-12 18:04:58.474
Context
2018-05-12
19:49
Base design of fourway dialog check-in: 272dbc6a54 user: peter tags: trunk
18:04
Started on fourway diff. check-in: fe25c21c58 user: peter tags: trunk
2018-01-14
20:26
Release 2.8.1 check-in: 06092a2d97 user: peter tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to Changes.



1
2
3
4
5
6
7



Released 2.8.1

2018-01-14
 Removed support for old RCS style -rREV command line.
 Process directory diff in a nicer order.

2018-01-11
>
>
>







1
2
3
4
5
6
7
8
9
10
2018-05-12
 Started on fourway diff.

Released 2.8.1

2018-01-14
 Removed support for old RCS style -rREV command line.
 Process directory diff in a nicer order.

2018-01-11
Changes to Makefile.
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
NAGELFAR    = nagelfar

all: setup

SRCFILES = src/eskil.tcl src/clip.tcl src/dirdiff.tcl src/help.tcl src/map.tcl \
	   src/print.tcl src/registry.tcl src/rev.tcl src/debug.tcl \
	   src/compare.tcl src/merge.tcl src/printobj.tcl src/plugin.tcl \
           src/vcsvfs.tcl src/preprocess.tcl src/startup.tcl

#----------------------------------------------------------------
# Build a dependency tree to other libs needed.
# This is made in a parallell VFS structure, mimicking Eskil's.
# Thus deps.vfs can also be created by downloading an Eskil kit,
# rename it to "deps" and unwrap it with sdx.
#----------------------------------------------------------------







|







31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
NAGELFAR    = nagelfar

all: setup

SRCFILES = src/eskil.tcl src/clip.tcl src/dirdiff.tcl src/help.tcl src/map.tcl \
	   src/print.tcl src/registry.tcl src/rev.tcl src/debug.tcl \
	   src/compare.tcl src/merge.tcl src/printobj.tcl src/plugin.tcl \
           src/vcsvfs.tcl src/preprocess.tcl src/startup.tcl src/fourway.tcl

#----------------------------------------------------------------
# Build a dependency tree to other libs needed.
# This is made in a parallell VFS structure, mimicking Eskil's.
# Thus deps.vfs can also be created by downloading an Eskil kit,
# rename it to "deps" and unwrap it with sdx.
#----------------------------------------------------------------
Changes to bumprev.txt.
1
2
3
4
5
6
7
8
9
10
11










These files need to be changed when bumping revisions:

Makefile (VERSION and DOTVERSION)
eskil.vfs/tclkit.inf (fileversion/productversion)

Also, mark it in:
Changes

File release affect these too:
htdocs/changes.wiki
htdocs/download.html





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
These files need to be changed when bumping revisions:

Makefile (VERSION and DOTVERSION)
eskil.vfs/tclkit.inf (fileversion/productversion)

Also, mark it in:
Changes

File release affect these too:
htdocs/changes.wiki
htdocs/download.html




These changes are needed when adding a new source files:

Add source to e.g. src/apa.tcl  (plus add to fossil)
In src/startup.tcl, update InitReSource
In Makefile, update SRCFILES
Do make -B newsrc
Added src/fourway.tcl.
























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
#----------------------------------------------------------------------
#  Eskil, Fourway diff section
#
#  Copyright (c) 2018, Peter Spjuth  (peter.spjuth@gmail.com)
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; see the file COPYING.  If not, write to
#  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
#  Boston, MA 02111-1307, USA.
#
#----------------------------------------------------------------------
# $Revision$
#----------------------------------------------------------------------

proc makeFourWayWin {} {
    set top .fourway

    if {[winfo exists $top] && [winfo toplevel $top] eq $top} {
        raise $top
        focus -force $top
        return $top
    }
    destroy $top
    toplevel $top
    eskilRegisterToplevel $top

    wm title $top "Four Way Diff"
    wm protocol $top WM_DELETE_WINDOW "cleanupAndExit $top"

    ttk::label $top.l -text TODO
    pack $top.l

    return $top
}
Changes to src/startup.tcl.
222
223
224
225
226
227
228

229
230
231
232
233
234
235
    source $srcdir/eskil.tcl
    source $srcdir/clip.tcl
    source $srcdir/compare.tcl
    source $srcdir/map.tcl
    source $srcdir/merge.tcl
    source $srcdir/registry.tcl
    source $srcdir/dirdiff.tcl

    source $srcdir/help.tcl
    source $srcdir/plugin.tcl
    source $srcdir/printobj.tcl
    source $srcdir/print.tcl
    source $srcdir/rev.tcl
    source $srcdir/debug.tcl








>







222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
    source $srcdir/eskil.tcl
    source $srcdir/clip.tcl
    source $srcdir/compare.tcl
    source $srcdir/map.tcl
    source $srcdir/merge.tcl
    source $srcdir/registry.tcl
    source $srcdir/dirdiff.tcl
    source $srcdir/fourway.tcl
    source $srcdir/help.tcl
    source $srcdir/plugin.tcl
    source $srcdir/printobj.tcl
    source $srcdir/print.tcl
    source $srcdir/rev.tcl
    source $srcdir/debug.tcl

696
697
698
699
700
701
702
703
704
705

706
707
708
709
710
711
712
    docFlag     -table      "Run in table mode"
    addOptsFlag -conflict mode conflict
    docFlag -conflict "Treat file as a merge conflict file and enter merge mode"
    # Conflict implies foreach
    addSideEffect -conflict {
        optSet -foreach 1
    }
    addFlags -dir -clip -patch -review -
    docFlag -dir    "Start in directory diff mode. Ignores other args"
    docFlag -clip   "Start in clip diff mode. Ignores other args"

    docFlag -patch  "View patch file"
    docFlag -       "Read patch file from standard input, to allow pipes"
    docFlag -review "View revision control tree as a patch."
    addFlags -browse -nodiff
    docFlag -browse "Automatically bring up file dialog after starting"
    docFlag -nodiff "Do not run diff after startup"
    addFlags -server -cvs -svn -debug







|


>







697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
    docFlag     -table      "Run in table mode"
    addOptsFlag -conflict mode conflict
    docFlag -conflict "Treat file as a merge conflict file and enter merge mode"
    # Conflict implies foreach
    addSideEffect -conflict {
        optSet -foreach 1
    }
    addFlags -dir -clip -fourway -patch -review -
    docFlag -dir    "Start in directory diff mode. Ignores other args"
    docFlag -clip   "Start in clip diff mode. Ignores other args"
    docFlag -fourway "Start in fourway diff mode. Ignores other args"
    docFlag -patch  "View patch file"
    docFlag -       "Read patch file from standard input, to allow pipes"
    docFlag -review "View revision control tree as a patch."
    addFlags -browse -nodiff
    docFlag -browse "Automatically bring up file dialog after starting"
    docFlag -nodiff "Do not run diff after startup"
    addFlags -server -cvs -svn -debug
861
862
863
864
865
866
867

868
869
870
871
872
873
874
    set plugindump  [optGet -plugindump]
    set pluginlist  [optGet -pluginlist]
    set pluginallowL [optGet -pluginallow]
    set noautodiff  [optGet -nodiff]
    set nocdiff     [optGet -nocdiff]
    set dodir       [optGet -dir]
    set doclip      [optGet -clip]

    set dopatch     [optGet -patch]
    set doreview    [optGet -review]
    set autobrowse  [optGet -browse]
    set foreach     [optGet -foreach]
    set preferedRev "GIT"
    if {[optGet -svn]} {
        set preferedRev "SVN"







>







863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
    set plugindump  [optGet -plugindump]
    set pluginlist  [optGet -pluginlist]
    set pluginallowL [optGet -pluginallow]
    set noautodiff  [optGet -nodiff]
    set nocdiff     [optGet -nocdiff]
    set dodir       [optGet -dir]
    set doclip      [optGet -clip]
    set dofourway   [optGet -fourway]
    set dopatch     [optGet -patch]
    set doreview    [optGet -review]
    set autobrowse  [optGet -browse]
    set foreach     [optGet -foreach]
    set preferedRev "GIT"
    if {[optGet -svn]} {
        set preferedRev "SVN"
983
984
985
986
987
988
989





990
991
992
993
994
995
996
    # Store the command line given opts
    set ::eskil(defaultopts) [array get opts]

    # Do we start in clip diff mode?
    if {$doclip} {
        return [makeClipDiffWin]
    }






    # Figure out if we start in a diff or dirdiff window.
    set len [llength $files]

    if {$len == 0 && $dodir} {
        set dirdiff(leftDir) ""
        set dirdiff(rightDir) ""







>
>
>
>
>







986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
    # Store the command line given opts
    set ::eskil(defaultopts) [array get opts]

    # Do we start in clip diff mode?
    if {$doclip} {
        return [makeClipDiffWin]
    }

    # Do we start in fourway diff mode?
    if {$dofourway} {
        return [makeFourWayWin]
    }

    # Figure out if we start in a diff or dirdiff window.
    set len [llength $files]

    if {$len == 0 && $dodir} {
        set dirdiff(leftDir) ""
        set dirdiff(rightDir) ""