git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] gitk: make "git describe" output clickable, too

From
Jim Meyering <jim@meyering.net>
Date
Dec 10, 2011, 15:08 UTC
Message-ID
<87mxb0foqe.fsf@rho.meyering.net>

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@redhat.com>
---
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
Next: Junio C Hamano
Message 1 of 3 in “gitk: make "git describe" output clickable, too”
  1. gitk: make "git describe" output clickable, tooJim Meyering, Dec 10, 2011
  2. Junio C HamanoDec 12, 2011
  3. Jim MeyeringFeb 1, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.