summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Paul Mackerras <paulus@samba.org>2008-11-18 21:40:32 +1100
committerLibravatar Paul Mackerras <paulus@samba.org>2008-11-18 21:40:32 +1100
commite11601381e384898418c30bd537a9daa1210c300 (patch)
tree95163aa1c4b5f0293f6ca88e2fa8fc6d2b046621
parentgitk: Avoid handling the Return key twice in Add Branch (diff)
downloadtgif-e11601381e384898418c30bd537a9daa1210c300.tar.xz
gitk: Fix context menu items for generating diffs when in tree mode
Currently, if you invoke the "diff this -> selected" or "diff selected -> this" and gitk is in "Tree" mode rather than "Patch" mode, the diff display pane will just show the header but not the actual diff, unless gitk has done the diff before and thus has the list of files that differ. This was because the logic in gettreediffline that checked whether we had moved on to doing something else checked the mode (Tree or Patch) before checking whether the ids we're diffing had changed. This fixes it. The new logic in gettreediffline is slightly hacky and relies on the fact that the Tree/Patch mode only applies when we're looking at a single commit, not at the diff between two commits. Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-xgitk2
1 files changed, 1 insertions, 1 deletions
diff --git a/gitk b/gitk
index f7f177621c..9bdaafe408 100755
--- a/gitk
+++ b/gitk
@@ -7129,7 +7129,7 @@ proc gettreediffline {gdtf ids} {
set treediffs($ids) $treediff
}
unset treepending
- if {$cmitmode eq "tree"} {
+ if {$cmitmode eq "tree" && [llength $diffids] == 1} {
gettree $diffids
} elseif {$ids != $diffids} {
if {![info exists diffmergeid]} {