aboutsummaryrefslogtreecommitdiff
path: root/gitk
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2007-10-23 22:37:23 +1000
committerPaul Mackerras <paulus@samba.org>2007-10-23 22:37:23 +1000
commitbd8f677e1c8349b9128490e2a21e0f573d0bea1d (patch)
treee7fd6bf507e35386c6cb589dde24819aff2187e9 /gitk
parent94503918e480123d0d4cf03b03153e4d83cdfd4e (diff)
downloadgit-bd8f677e1c8349b9128490e2a21e0f573d0bea1d.tar.gz
git-bd8f677e1c8349b9128490e2a21e0f573d0bea1d.tar.xz
gitk: Fix some bugs with path limiting in the diff display
First, we weren't putting "--" between the ids and the paths in the git diff-tree/diff-index/diff-files command, so if there was a tag and a file with the same name, we could get an ambiguity in the command. This puts the "--" in to make it clear that the paths are paths. Secondly, this implements the path limiting for merge diffs as well as the normal 2-way diffs. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'gitk')
-rwxr-xr-xgitk6
1 files changed, 5 insertions, 1 deletions
diff --git a/gitk b/gitk
index 0d3705c43..f41e30207 100755
--- a/gitk
+++ b/gitk
@@ -4913,12 +4913,16 @@ proc mergediff {id l} {
global diffmergeid diffopts mdifffd
global diffids
global parentlist
+ global limitdiffs viewfiles curview
set diffmergeid $id
set diffids $id
# this doesn't seem to actually affect anything...
set env(GIT_DIFF_OPTS) $diffopts
set cmd [concat | git diff-tree --no-commit-id --cc $id]
+ if {$limitdiffs && $viewfiles($curview) ne {}} {
+ set cmd [concat $cmd -- $viewfiles($curview)]
+ }
if {[catch {set mdf [open $cmd r]} err]} {
error_popup "Error getting merge diffs: $err"
return
@@ -5152,7 +5156,7 @@ proc getblobdiffs {ids} {
set env(GIT_DIFF_OPTS) $diffopts
set cmd [diffcmd $ids "-p -C --no-commit-id -U$diffcontext"]
if {$limitdiffs && $viewfiles($curview) ne {}} {
- set cmd [concat $cmd $viewfiles($curview)]
+ set cmd [concat $cmd -- $viewfiles($curview)]
}
if {[catch {set bdf [open $cmd r]} err]} {
puts "error getting diffs: $err"