Mercurial > hg
comparison contrib/hgk @ 3059:3dab573a4330
hgk: use short changeset hashes
this fixes the missing tags on hgk window
author | TK Soh <teekaysoh@yahoo.com> |
---|---|
date | Thu, 24 Aug 2006 16:12:23 -0500 |
parents | 936b615eb44e |
children | d0fcce3728d1 |
comparison
equal
deleted
inserted
replaced
3058:11e3396e3a2b | 3059:3dab573a4330 |
---|---|
98 set ok 0 | 98 set ok 0 |
99 if {$j >= 0} { | 99 if {$j >= 0} { |
100 set ids [string range $cmit 0 [expr {$j - 1}]] | 100 set ids [string range $cmit 0 [expr {$j - 1}]] |
101 set ok 1 | 101 set ok 1 |
102 foreach id $ids { | 102 foreach id $ids { |
103 if {![regexp {^[0-9a-f]{40}$} $id]} { | 103 if {![regexp {^[0-9a-f]{12}$} $id]} { |
104 set ok 0 | 104 set ok 0 |
105 break | 105 break |
106 } | 106 } |
107 } | 107 } |
108 } | 108 } |
259 set files [glob -nocomplain -types f [file join $git $base *]] | 259 set files [glob -nocomplain -types f [file join $git $base *]] |
260 foreach f $files { | 260 foreach f $files { |
261 catch { | 261 catch { |
262 set fd [open $f r] | 262 set fd [open $f r] |
263 set line [read $fd 40] | 263 set line [read $fd 40] |
264 if {[regexp {^[0-9a-f]{40}} $line id]} { | 264 if {[regexp {^[0-9a-f]{12}} $line id]} { |
265 set name "$dname[file tail $f]" | 265 set name "$dname[file tail $f]" |
266 set otherrefids($name) $id | 266 set otherrefids($name) $id |
267 lappend idotherrefs($id) $name | 267 lappend idotherrefs($id) $name |
268 } | 268 } |
269 close $fd | 269 close $fd |
1741 bell | 1741 bell |
1742 } | 1742 } |
1743 } | 1743 } |
1744 return | 1744 return |
1745 } | 1745 } |
1746 if {![regexp {^[0-9a-f]{40}} $line id]} { | 1746 if {![regexp {^[0-9a-f]{12}} $line id]} { |
1747 error_popup "Can't parse git-diff-tree output: $line" | 1747 error_popup "Can't parse git-diff-tree output: $line" |
1748 stopfindproc | 1748 stopfindproc |
1749 return | 1749 return |
1750 } | 1750 } |
1751 if {![info exists idline($id)]} { | 1751 if {![info exists idline($id)]} { |
1854 error_popup "Couldn't find diffs for {$ids}" | 1854 error_popup "Couldn't find diffs for {$ids}" |
1855 } | 1855 } |
1856 } | 1856 } |
1857 return | 1857 return |
1858 } | 1858 } |
1859 if {[regexp {^([0-9a-f]{40}) \(from ([0-9a-f]{40})\)} $line match id p]} { | 1859 if {[regexp {^([0-9a-f]{12}) \(from ([0-9a-f]{12})\)} $line match id p]} { |
1860 # start of a new string of diffs | 1860 # start of a new string of diffs |
1861 donefilediff | 1861 donefilediff |
1862 set fdiffids [list $id $p] | 1862 set fdiffids [list $id $p] |
1863 set fdiffs {} | 1863 set fdiffs {} |
1864 } elseif {[string match ":*" $line]} { | 1864 } elseif {[string match ":*" $line]} { |
2012 global ctext idline linknum | 2012 global ctext idline linknum |
2013 | 2013 |
2014 set start [$ctext index "end - 1c"] | 2014 set start [$ctext index "end - 1c"] |
2015 $ctext insert end $text | 2015 $ctext insert end $text |
2016 $ctext insert end "\n" | 2016 $ctext insert end "\n" |
2017 set links [regexp -indices -all -inline {[0-9a-f]{40}} $text] | 2017 set links [regexp -indices -all -inline {[0-9a-f]{12}} $text] |
2018 foreach l $links { | 2018 foreach l $links { |
2019 set s [lindex $l 0] | 2019 set s [lindex $l 0] |
2020 set e [lindex $l 1] | 2020 set e [lindex $l 1] |
2021 set linkid [string range $text $s $e] | 2021 set linkid [string range $text $s $e] |
2022 if {![info exists idline($linkid)]} continue | 2022 if {![info exists idline($linkid)]} continue |