I noticed that automake's contribution guidelines suggest using "git describe" output in commit logs to reference previous commits. By contrast, in coreutils, I had acquired the habit of using a bare SHA1 prefix (8 hex digits), since gitk creates clickable links for that, and not for "git describe" output. I prefer the readability of the full "git describe" output, yet want to retain the gitk links, so wrote the following that renders as clickable not just SHA1-like strings, but also an SHA1-like string that is prefixed by "-g". Signed-off-by: Jim Meyering <meyering@xxxxxxxxxx> --- This is relative to master. Think of this as mere proof-of-concept: Ideally, the string preceding the -g would be used to disambiguate the SHA1 prefix, but that would require more code. I confess that I haven't looked to see if documentation needs to be updated or if this would merit test suite additions. gitk-git/gitk | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/gitk-git/gitk b/gitk-git/gitk index 4cde0c4..f8eb613 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -6688,7 +6688,7 @@ proc appendwithlinks {text tags} { set start [$ctext index "end - 1c"] $ctext insert end $text $tags - set links [regexp -indices -all -inline {\m[0-9a-f]{6,40}\M} $text] + set links [regexp -indices -all -inline {(?:\m|-g)[0-9a-f]{6,40}\M} $text] foreach l $links { set s [lindex $l 0] set e [lindex $l 1] @@ -6704,6 +6704,10 @@ proc appendwithlinks {text tags} { proc setlink {id lk} { global curview ctext pendinglinks + if {[string range $id 0 1] eq "-g"} { + set id [string range $id 2 end] + } + set known 0 if {[string length $id] < 40} { set matches [longid $id] -- 1.7.8.163.g9859a -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html