[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