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 | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7f991dd7931fd69ae39d679800ab390a13245dd7f43d0f5693fd9a9834b17cd3
User & Date: peter 2020-04-15 16:53:44
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
Hide Diffs Unified Diffs 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
....
1004
1005
1006
1007
1008
1009
1010










1011
1012
1013
1014
1015
1016
1017
....
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
....
1598
1599
1600
1601
1602
1603
1604

1605
1606
1607
    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
................................................................................
            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"
................................................................................
}

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
................................................................................
                set ::dirdiff(rightDir) $d2
            }
            destroy .dirdiffX
        }
    }

    destroy .dirdiff

    DirDiff .dirdiff $noautodiff
    return .dirdiff
}







>
>







 







>
>
>
>
>
>
>
>
>
>







 







>
>

|







<

>







 







>
|


307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
....
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
....
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
....
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
    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
................................................................................
            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"
................................................................................
}

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
................................................................................
                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
}