From: Shawn O. Pearce Date: Mon, 9 Jul 2007 01:19:59 +0000 (-0400) Subject: git-gui: Unabbreviate commit SHA-1s prior to display X-Git-Tag: v1.5.3-rc1~16^2~18 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=02087abccea681bc0e1f6a9607e97df79ebbf2d9;p=git.git git-gui: Unabbreviate commit SHA-1s prior to display If the end-user feeds us an abbreviated SHA-1 on the command line for `git gui browser` or `git gui blame` we now unabbreviate the value through `git rev-parse` so that the title section of the blame or browser window shows the user the complete SHA-1 as Git determined it to be. If the abbreviated value was ambiguous we now complain with the standard error message(s) as reported by git-rev-parse --verify, so that the user can understand what might be wrong and correct their command line. Signed-off-by: Shawn O. Pearce --- diff --git a/git-gui.sh b/git-gui.sh index ac043677c..1844c9067 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1746,7 +1746,18 @@ browser { set subcommand_args {rev?} switch [llength $argv] { 0 { load_current_branch } - 1 { set current_branch [lindex $argv 0] } + 1 { + set current_branch [lindex $argv 0] + if {[regexp {^[0-9a-f]{1,39}$} $current_branch]} { + if {[catch { + set current_branch \ + [git rev-parse --verify $current_branch] + } err]} { + puts stderr $err + exit 1 + } + } + } default usage } browser::new $current_branch @@ -1781,6 +1792,14 @@ blame { if {$head eq {}} { load_current_branch } else { + if {[regexp {^[0-9a-f]{1,39}$} $head]} { + if {[catch { + set head [git rev-parse --verify $head] + } err]} { + puts stderr $err + exit 1 + } + } set current_branch $head }