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

3 messages from 2008-05-02 to 2008-05-02. Participants: Paul Mackerras, Michele Ballabio.
Thread: https://gitlist.dev/t/13353

## Paul Mackerras, 2008-05-02 12:52

Subject: Re: [PATCH] gitk: disable "Reset %s branch to here" when on a detached head
Message-ID: <18459.3700.934377.597975@cargo.ozlabs.ibm.com>
URL: https://gitlist.dev/e/18459.3700.934377.597975%40cargo.ozlabs.ibm.com
In-Reply-To: <200803181535.53635.barra_cuda@katamail.com>

```
Michele Ballabio writes:

> When we are on a detached head, reset has no sense, so disable
> the line on the context menu.

Sounds reasonable.

> -	$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 %s branch to here" $mainhead] -state disabled

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. :)

Paul.

```

## Michele Ballabio, 2008-05-02 14:56

Subject: Re: [PATCH] gitk: disable "Reset %s branch to here" when on a detached head
Message-ID: <200805021656.57929.barra_cuda@katamail.com>
URL: https://gitlist.dev/e/200805021656.57929.barra_cuda%40katamail.com
In-Reply-To: <18459.3700.934377.597975@cargo.ozlabs.ibm.com>

```
On Friday 02 May 2008, Paul Mackerras wrote:
> > -     $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 %s branch to here" $mainhead] -state disabled
> 
> 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,
but I'm really not sure about this: you'd better seek suggestions from a
native speaker :).

```

## Michele Ballabio, 2008-05-02 15:46

Subject: [PATCH] gitk: disable "Reset %s branch to here" when on a detached head
Message-ID: <200805021746.20883.barra_cuda@katamail.com>
URL: https://gitlist.dev/e/200805021746.20883.barra_cuda%40katamail.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:
> 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

```
