Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Added "nice" option to control dirdiff speed. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8181e7a1e5bc8fc37cb5ad523caeb597 |
User & Date: | peter 2012-09-17 02:16:01.104 |
Context
2012-09-17
| ||
02:17 | Updated syntax helper for previous fix. check-in: 21a85a47b6 user: peter tags: trunk | |
02:16 | Added "nice" option to control dirdiff speed. check-in: 8181e7a1e5 user: peter tags: trunk | |
01:56 | Avoid getting double .-files in dirdiff on Windows. Try to preserve file name objects to keep internal file system representations as much as possible. Avoid unnessecary file system queries during dirdiff to make it more efficient, specially against network drives. check-in: 3fad1f0f9a user: peter tags: trunk | |
Changes
Changes to src/dirdiff.tcl.
︙ | ︙ | |||
263 264 265 266 267 268 269 270 271 272 273 274 275 276 | option -leftdirvariable -default "" -configuremethod SetDirOption option -rightdirvariable -default "" -configuremethod SetDirOption option -statusvar -default "" variable AfterId "" variable PauseBgProcessing 0 variable ScheduledRestart 0 variable IdleQueue {} variable IdleQueueArr variable leftMark "" variable rightMark "" variable leftDir "" variable rightDir "" | > | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | option -leftdirvariable -default "" -configuremethod SetDirOption option -rightdirvariable -default "" -configuremethod SetDirOption option -statusvar -default "" variable AfterId "" variable PauseBgProcessing 0 variable ScheduledRestart 0 variable AfterTime 1 variable IdleQueue {} variable IdleQueueArr variable leftMark "" variable rightMark "" variable leftDir "" variable rightDir "" |
︙ | ︙ | |||
364 365 366 367 368 369 370 371 372 373 374 375 376 377 | set rightDir $right } if {!$ScheduledRestart} { set ScheduledRestart 1 after idle [mymethod ReStart] } } method ReStart {} { # Delete all idle processing if {$AfterId ne ""} { after cancel $AfterId } set AfterId "" | > > > > > > > | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | set rightDir $right } if {!$ScheduledRestart} { set ScheduledRestart 1 after idle [mymethod ReStart] } } method nice {ms} { # Sanity check if {$ms < 1} { set ms 1 } if {$ms > 1000} {set ms 1000 } set AfterTime $ms } method ReStart {} { # Delete all idle processing if {$AfterId ne ""} { after cancel $AfterId } set AfterId "" |
︙ | ︙ | |||
601 602 603 604 605 606 607 | method AddNodeToIdle {node} { if {[info exists IdleQueueArr($node)]} { return } lappend IdleQueue $node set IdleQueueArr($node) 1 if {$AfterId eq ""} { | | | 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 | method AddNodeToIdle {node} { if {[info exists IdleQueueArr($node)]} { return } lappend IdleQueue $node set IdleQueueArr($node) 1 if {$AfterId eq ""} { set AfterId [after $AfterTime [mymethod UpdateIdle]] } } method UpdateIdle {} { set AfterId "X" if {$PauseBgProcessing} { set AfterId [after 200 [mymethod UpdateIdle]] |
︙ | ︙ | |||
659 660 661 662 663 664 665 | set rightfull [$tree rowattrib $node rightfull] if {$leftfull ne ""} { set statusvar $leftfull } else { set statusvar $rightfull } | | | 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 | set rightfull [$tree rowattrib $node rightfull] if {$leftfull ne ""} { set statusvar $leftfull } else { set statusvar $rightfull } set AfterId [after $AfterTime [mymethod UpdateIdle]] } else { set statusvar "" set AfterId "" } } method SetNodeStatus {node status} { |
︙ | ︙ | |||
910 911 912 913 914 915 916 917 918 919 920 921 922 923 | } snit::widget DirDiff { hulltype toplevel widgetclass Toplevel component tree variable statusVar constructor {args} { eskilRegisterToplevel $win wm title $win "Eskil Dir" wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win] install tree using DirCompareTree $win.dc \ | > | 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 | } snit::widget DirDiff { hulltype toplevel widgetclass Toplevel component tree variable statusVar variable nice 1 constructor {args} { eskilRegisterToplevel $win wm title $win "Eskil Dir" wm protocol $win WM_DELETE_WINDOW [list cleanupAndExit $win] install tree using DirCompareTree $win.dc \ |
︙ | ︙ | |||
953 954 955 956 957 958 959 | -label "Do not check contents" $win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 1 \ -label "Normal compare" $win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 2 \ -label "Exact compare" $win.m.mo.mc add checkbutton -variable Pref(dir,ignorekey) \ -label "Ignore \$Keyword:\$" | | > > > > > > > > > > > | 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 | -label "Do not check contents" $win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 1 \ -label "Normal compare" $win.m.mo.mc add radiobutton -variable Pref(dir,comparelevel) -value 2 \ -label "Exact compare" $win.m.mo.mc add checkbutton -variable Pref(dir,ignorekey) \ -label "Ignore \$Keyword:\$" $win.m.mo add cascade -label "Nice" -menu $win.m.mo.mn menu $win.m.mo.mn $win.m.mo.mn add radiobutton -variable [myvar nice] -value 1 \ -command [mymethod DoNice] -label 1 $win.m.mo.mn add radiobutton -variable [myvar nice] -value 50 \ -command [mymethod DoNice] -label 50 $win.m.mo.mn add radiobutton -variable [myvar nice] -value 100 \ -command [mymethod DoNice] -label 100 $win.m.mo.mn add radiobutton -variable [myvar nice] -value 1000 \ -command [mymethod DoNice] -label 1000 $win.m add cascade -label "Tools" -underline 0 -menu $win.m.mt menu $win.m.mt $win.m.mt add command -label "New Diff Window" -underline 0 \ -command makeDiffWin $win.m.mt add command -label "Clip Diff" -underline 0 \ -command makeClipDiffWin if {$::tcl_platform(platform) eq "windows"} { |
︙ | ︙ | |||
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 | grid columnconfigure $win {0 2} -weight 1 } method DoDirCompare {} { $tree configure -leftdirvariable ::dirdiff(leftDir) \ -rightdirvariable ::dirdiff(rightDir) } # Go up one level in directory hierarchy. # 0 = both method UpDir {{n 0}} { global dirdiff Pref switch $n { 0 { | > > > > | 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 | grid columnconfigure $win {0 2} -weight 1 } method DoDirCompare {} { $tree configure -leftdirvariable ::dirdiff(leftDir) \ -rightdirvariable ::dirdiff(rightDir) } method DoNice {} { $tree nice $nice } # Go up one level in directory hierarchy. # 0 = both method UpDir {{n 0}} { global dirdiff Pref switch $n { 0 { |
︙ | ︙ |