Browse Source

Allow short SHA1 IDs in the SHA1 entry field.

maint
Paul Mackerras 20 years ago
parent
commit
f3b8b3ce3e
  1. 19
      gitk

19
gitk

@ -1949,18 +1949,35 @@ proc sha1change {n1 n2 op} { @@ -1949,18 +1949,35 @@ proc sha1change {n1 n2 op} {

proc gotocommit {} {
global sha1string currentid idline tagids
global lineid numcommits

if {$sha1string == {}
|| ([info exists currentid] && $sha1string == $currentid)} return
if {[info exists tagids($sha1string)]} {
set id $tagids($sha1string)
} else {
set id [string tolower $sha1string]
if {[regexp {^[0-9a-f]{4,39}$} $id]} {
set matches {}
for {set l 0} {$l < $numcommits} {incr l} {
if {[string match $id* $lineid($l)]} {
lappend matches $lineid($l)
}
}
if {$matches ne {}} {
if {[llength $matches] > 1} {
error_popup "Short SHA1 id $id is ambiguous"
return
}
set id [lindex $matches 0]
}
}
}
if {[info exists idline($id)]} {
selectline $idline($id)
return
}
if {[regexp {^[0-9a-fA-F]{40}$} $sha1string]} {
if {[regexp {^[0-9a-fA-F]{4,}$} $sha1string]} {
set type "SHA1 id"
} else {
set type "Tag"

Loading…
Cancel
Save