Minor gitk bug - update on empty project : can't read "viewmainheadid_orig(1)": no such variable
From: Indigo Frankencastle <hidden>
Date: 2016-06-15 22:55:52
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Indigo Frankencastle <hidden>
Date: 2016-06-15 22:55:52
Subsystem:
the rest · Maintainer:
Linus Torvalds
One of these "weird usage causes weird bugs".
One way to reproduce:
mkdir foo
cd foo
git init
git commit -am "Initial"
gitk &
# or
gitk --all &
<F5>
Resulting in (gitk-git/gitk line 503 - 512):
can't read "viewmainheadid_orig(1)": no such variable
can't read "viewmainheadid_orig(1)": no such variable
while executing
"if {$mainheadid ne $viewmainheadid_orig($view)} {
if {$showlocalchanges} {
dohidelocalchanges
}
set viewmainheadid($view) $mainheadid
set vie..."
(procedure "updatecommits" line 13)
invoked from within
"updatecommits"
(command bound to event)
As "$mainheadid" is not set, should there be something in the
direction of this perhaps?
...
Subject: [PATCH] gitk catch missing head id on update
---
gitk-git/gitk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index d93bd99..fa869d7 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk@@ -499,6 +499,11 @@ proc updatecommits {} { set hasworktree [hasworktree] rereadrefs + if {$mainheadid eq ""} { + # error_popup "[mc "Error updating commits:"] No main HEAD id" + show_status [mc "No main HEAD id"] + return {} + } set view $curview if {$mainheadid ne $viewmainheadid_orig($view)} { if {$showlocalchanges} {
--
1.7.10.4
...
Or perhaps some logic in:
proc rereadrefs {}
----
Best regards,
IF