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

[PATCH] gitk: disable "Reset %s branch to here" when on a detached head

From
Michele Ballabio <barra_cuda@katamail.com>
Date
May 2, 2008, 15:46 UTC
Message-ID
<200805021746.20883.barra_cuda@katamail.com>
In-Reply-To
<200805021656.57929.barra_cuda@katamail.com>

When we are on a detached head - since gitk does not display where we are - reset has no sense, so disable the relevant line on the context menu, and point out to the user that we are on a detached head.

Otherwise, a reset from gitk when on a detached head returns the error:

can't read "headids()": no such element in array
can't read "headids()": no such element in array
    while executing
"removehead $headids($name) $name"
    (procedure "movehead" line 4)
    invoked from within
"movehead $newhead $mainhead"
    (procedure "readresetstat" line 20)
    invoked from within
"readresetstat file4"
    ("eval" body line 1)
    invoked from within
"eval $script"
    (procedure "dorunq" line 9)
    invoked from within
"dorunq"
    ("after" script)
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
---
On Friday 02 May 2008, Michele Ballabio wrote:
Show 8 quoted lines
> On Friday 02 May 2008, Paul Mackerras wrote:
> > I wonder if we can make this message something more appropriate than
> > "Reset  branch to here" (since $mainhead has to be the empty string
> > here)?  Not sure what I would suggest though. :)
> 
> Oh, you're right. I'd say either "Reset detached head to here" greyed out
> (i.e. change the words as little as possible), or something more
> explicative like "Detached head: reset not possible". I'd go for the first,
Here's the updated patch.
 gitk |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/gitk b/gitk
index da685aa..23247ff 100755
--- a/gitk
+++ b/gitk
@@ -6016,7 +6016,11 @@ proc rowmenu {x y id} {
     }
     if {$id ne $nullid && $id ne $nullid2} {
 	set menu $rowctxmenu
-	$menu entryconfigure 7 -label [mc "Reset %s branch to here" $mainhead]
+	if {$mainhead ne {}} {
+	    $menu entryconfigure 7 -label [mc "Reset %s branch to here" $mainhead]
+	} else {
+	    $menu entryconfigure 7 -label [mc "Reset detached head to here" $mainhead] -state disabled
+	}
     } else {
 	set menu $fakerowmenu
     }
-- 
1.5.5.1
Previous: Michele Ballabio
Message 3 of 3 in “Re: [PATCH] gitk: disable "Reset %s branch to here" when on a detached head”
  1. Paul MackerrasMay 2, 2008
  2. Michele BallabioMay 2, 2008
  3. gitk: disable "Reset %s branch to here" when on a detached headMichele Ballabio, May 2, 2008

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.