Jim Meyering <jim@xxxxxxxxxxxx> writes: > 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: Paul, I think this makes tons of sense. Comments? > 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