From: Paul Mackerras Date: Tue, 23 Oct 2007 12:37:23 +0000 (+1000) Subject: gitk: Fix some bugs with path limiting in the diff display X-Git-Url: https://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=bd8f677e1c8349b9128490e2a21e0f573d0bea1d;p=gitk 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 --- diff --git a/gitk b/gitk index 0d3705c..f41e302 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"