Code

gitk: Fixed broken exception handling in diff
authorAlexander Gavrilov <angavrilov@gmail.com>
Sat, 26 Jul 2008 14:48:41 +0000 (18:48 +0400)
committerPaul Mackerras <paulus@samba.org>
Thu, 31 Jul 2008 10:29:44 +0000 (20:29 +1000)
If the tree diff command failed to start for some
random reason, treepending remained set, and thus
no more diffs were shown after that.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index d7fea265f3e48a32c11c208749d59f86a8f5bdda..abb6542c5f3b39c9f86cf0cfd4d26860d3de2d75 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -6457,9 +6457,10 @@ proc diffcmd {ids flags} {
 proc gettreediffs {ids} {
     global treediff treepending
 
+    if {[catch {set gdtf [open [diffcmd $ids {--no-commit-id}] r]}]} return
+
     set treepending $ids
     set treediff {}
-    if {[catch {set gdtf [open [diffcmd $ids {--no-commit-id}] r]}]} return
     fconfigure $gdtf -blocking 0
     filerun $gdtf [list gettreediffline $gdtf $ids]
 }