Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Use dicts down to ListFiles method. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e1a6e254436964e020e41e6a536d4037 |
User & Date: | peter 2014-07-21 00:17:58.218 |
Context
2014-07-21
| ||
00:37 | Use file dictinoary down to CompareFiles check-in: 42caa7a2a8 user: peter tags: trunk | |
00:17 | Use dicts down to ListFiles method. check-in: e1a6e25443 user: peter tags: trunk | |
2014-07-20
| ||
23:50 | Pass dirdiff preferences as a dict check-in: 2895f46ba0 user: peter tags: trunk | |
Changes
Changes to src/dirdiff.tcl.
︙ | ︙ | |||
41 42 43 44 45 46 47 | if {[lindex [lsort -dictionary [list $s1 $s2]] 0] eq $s1} { return -1 } return 1 } | < < < < < | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | if {[lindex [lsort -dictionary [list $s1 $s2]] 0] eq $s1} { return -1 } return 1 } # Compare two files or dirs # Return true if equal proc CompareFiles {file1 file2} { if {[catch {file lstat $file1 stat1}]} { return 0 } if {[catch {file lstat $file2 stat2}]} { |
︙ | ︙ | |||
781 782 783 784 785 786 787 | } else { $self SetNodeStatus $node change } } # List files under a directory node # Returns status for the new node | | > | > | | | > | > | | | | 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 | } else { $self SetNodeStatus $node change } } # List files under a directory node # Returns status for the new node method ListFiles {fD1 fD2 node} { if {[dict size $fD1] == 0} { set df1 "" set size1 "" set time1 "" set type1 "" } else { set df1 [dict get $fD1 full] set size1 [dict get $fD1 size] set time1 [FormatDate [dict get $fD1 mtime]] set type1 [dict get $fD1 type] } if {[dict size $fD2] == 0} { set df2 "" set size2 "" set time2 "" set type2 "" } else { set df2 [dict get $fD2 full] set size2 [dict get $fD2 size] set time2 [FormatDate [dict get $fD2 mtime]] set type2 [dict get $fD2 type] } if {$df1 ne ""} { set type $type1 set name [file tail $df1] } else { set type $type2 set name [file tail $df2] |
︙ | ︙ | |||
907 908 909 910 911 912 913 | set p1 0 set p2 0 set status_change 0 set status_unknown 0 while 1 { if {$p1 < $len1 && $p2 < $len2} { set fD1 [lindex $filesD1 $p1] | < < < < | | | | < | < | | 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 | set p1 0 set p2 0 set status_change 0 set status_unknown 0 while 1 { if {$p1 < $len1 && $p2 < $len2} { set fD1 [lindex $filesD1 $p1] set fD2 [lindex $filesD2 $p1] set apa [FStrCmp [dict get $fD1 tail] [dict get $fD1 tail]] if {$apa == 0} { # Equal names, separate them if not the same type set apa [expr {- [dict get $fD1 dir] \ + [dict get $fD2 dir]}] } switch -- $apa { 0 { set sts [$self ListFiles $fD1 $fD2 $node] incr p1 incr p2 if {$sts eq "unknown"} { set status_unknown 1 } } -1 { $self ListFiles $fD1 "" $node incr p1 set status_change 1 } 1 { $self ListFiles "" $fD2 $node incr p2 set status_change 1 } } } elseif {$p1 < $len1 && $p2 >= $len2} { set fD1 [lindex $filesD1 $p1] $self ListFiles $fD1 "" $node incr p1 set status_change 1 } elseif {$p1 >= $len1 && $p2 < $len2} { set fD2 [lindex $filesD2 $p1] $self ListFiles "" $fD2 $node incr p2 set status_change 1 } else { break } } if {$dir1 eq ""} { |
︙ | ︙ |