Eskil

Check-in [7f991dd793]
Login

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

Overview
Comment:Do not traverse a unique side in dir diff.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7f991dd7931fd69ae39d679800ab390a13245dd7f43d0f5693fd9a9834b17cd3
User & Date: peter 2020-04-15 16:53:44.738
Context
2020-05-07
14:39
Renamed plugin to gz. check-in: 727de749d3 user: peter tags: trunk
2020-04-15
16:53
Do not traverse a unique side in dir diff. check-in: 7f991dd793 user: peter tags: trunk
2020-04-14
07:48
Plugin for gz files. check-in: 14d04d7a3f user: peter tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to Changes.












1
2
3
4
5
6
7












2019-11-10
 More combinations allowed in edit mode. Including copy block of selected text.

2019-11-10
 Code cleanup to adhere a bit to some consistent standard.

2019-08-28
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2020-04-14
 Added gunzip plugin.

2020-01-15
 Do not traverse a unique side in dir diff.
 Support -norun for dir diff.
 Prune empty directories in dir diff.
 Added -includefile/dir command line, for dir diff.

2020-01-07
 Handle multiple screens better for balloon help 

2019-11-10
 More combinations allowed in edit mode. Including copy block of selected text.

2019-11-10
 Code cleanup to adhere a bit to some consistent standard.

2019-08-28
Changes to src/dirdiff.tcl.
307
308
309
310
311
312
313


314
315
316
317
318
319
320
    component vsb

    option -leftdirvariable  -default "" -configuremethod SetDirOption
    option -rightdirvariable -default "" -configuremethod SetDirOption
    option -statusvar -default ""
    option -changelist -default ""
    option -norun -default 0



    variable AfterId ""
    variable DebugCh ""
    variable DebugTime {}
    variable PauseBgProcessing 0
    variable ScheduledRestart 0
    variable AfterTime 1







>
>







307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
    component vsb

    option -leftdirvariable  -default "" -configuremethod SetDirOption
    option -rightdirvariable -default "" -configuremethod SetDirOption
    option -statusvar -default ""
    option -changelist -default ""
    option -norun -default 0
    # TODO: better name for experimental parameter
    option -bepa -default 0

    variable AfterId ""
    variable DebugCh ""
    variable DebugTime {}
    variable PauseBgProcessing 0
    variable ScheduledRestart 0
    variable AfterTime 1
1004
1005
1006
1007
1008
1009
1010










1011
1012
1013
1014
1015
1016
1017
            return
        }
        $tree delete [$tree childkeys $node]

        set leftfull [$tree rowattrib $node leftfull]
        set rightfull [$tree rowattrib $node rightfull]
        #$self Dlog "UpdateDirNode $leftfull"










        $self CompareDirs $leftfull $rightfull $node
    }

    method UpdateFileNode {node} {
        set leftfull [$tree rowattrib $node leftfull]
        set rightfull [$tree rowattrib $node rightfull]
        #$self Dlog "UpdateFileNode $leftfull"







>
>
>
>
>
>
>
>
>
>







1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
            return
        }
        $tree delete [$tree childkeys $node]

        set leftfull [$tree rowattrib $node leftfull]
        set rightfull [$tree rowattrib $node rightfull]
        #$self Dlog "UpdateDirNode $leftfull"
	if {$options(-bepa)} {
	    if {$leftfull eq ""} {
		$self SetNodeStatus $node new
		return
	    }
	    if {$rightfull eq ""} {
		$self SetNodeStatus $node old
		return
	    }
	}
        $self CompareDirs $leftfull $rightfull $node
    }

    method UpdateFileNode {node} {
        set leftfull [$tree rowattrib $node leftfull]
        set rightfull [$tree rowattrib $node rightfull]
        #$self Dlog "UpdateFileNode $leftfull"
1221
1222
1223
1224
1225
1226
1227


1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238

1239
1240
1241
1242
1243
1244
1245
}

snit::widget DirDiff {
    hulltype toplevel
    widgetclass Toplevel
    component tree
    variable statusVar



    constructor {{noautodiff 0}} {
        eskilRegisterToplevel $win
        wm title $win "Eskil Dir"
        wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win]

        install tree using DirCompareTree $win.dc \
                -leftdirvariable ::dirdiff(leftDir) \
                -rightdirvariable ::dirdiff(rightDir) \
                -norun $noautodiff \
                -statusvar [myvar statusVar]


        if {[info exists ::dirdiff(localChanges)]} {
            $tree configure -changelist $::dirdiff(localChanges)
        }

        ttk::frame $win.fe1
        ttk::frame $win.fe2







>
>

|







<

>







1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250

1251
1252
1253
1254
1255
1256
1257
1258
1259
}

snit::widget DirDiff {
    hulltype toplevel
    widgetclass Toplevel
    component tree
    variable statusVar
    delegate option -norun to tree
    delegate option -bepa  to tree

    constructor {args} {
        eskilRegisterToplevel $win
        wm title $win "Eskil Dir"
        wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win]

        install tree using DirCompareTree $win.dc \
                -leftdirvariable ::dirdiff(leftDir) \
                -rightdirvariable ::dirdiff(rightDir) \

                -statusvar [myvar statusVar]
	$self configurelist $args

        if {[info exists ::dirdiff(localChanges)]} {
            $tree configure -changelist $::dirdiff(localChanges)
        }

        ttk::frame $win.fe1
        ttk::frame $win.fe2
1598
1599
1600
1601
1602
1603
1604

1605
1606
1607
                set ::dirdiff(rightDir) $d2
            }
            destroy .dirdiffX
        }
    }

    destroy .dirdiff

    DirDiff .dirdiff $noautodiff
    return .dirdiff
}







>
|


1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
                set ::dirdiff(rightDir) $d2
            }
            destroy .dirdiffX
        }
    }

    destroy .dirdiff
    # TODO: better name for experimental parameter, propagate to cmd line
    DirDiff .dirdiff -norun $noautodiff -bepa 1
    return .dirdiff
}