Skip to content

Commit

Permalink
gitk: Fix file highlight when run in subdirectory
Browse files Browse the repository at this point in the history
The "highlight this only" and "highlight this too" commands in gitk
add the path relative to $GIT_WORK_TREE to the "Find" input box. When
the search (using git-diff-tree) is run, the paths are used
unmodified, except for some shell escaping. Since the search is run
from gitk's working directory, no commits matching the paths will be
found if gitk was started in a subdirectory.

Make the paths passed to git-diff-tree relative to gitk's working
directory instead of being relative to $GIT_WORK_TREE. If, however,
gitk is run outside of the working directory (e.g. with $GIT_WORK_TREE
set), we still need to use the path relative to $GIT_WORK_TREE.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Martin von Zweigbergk authored and Paul Mackerras committed Jul 24, 2011
1 parent bb3e86a commit c332f44
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion gitk
Original file line number Diff line number Diff line change
Expand Up @@ -4527,12 +4527,17 @@ proc makepatterns {l} {

proc do_file_hl {serial} {
global highlight_files filehighlight highlight_paths gdttype fhl_list
global cdup

if {$gdttype eq [mc "touching paths:"]} {
if {[catch {set paths [shellsplit $highlight_files]}]} return
set highlight_paths [makepatterns $paths]
highlight_filelist
set gdtargs [concat -- $paths]
set relative_paths {}
foreach path $paths {
lappend relative_paths [file join $cdup $path]
}
set gdtargs [concat -- $relative_paths]
} elseif {$gdttype eq [mc "adding/removing string:"]} {
set gdtargs [list "-S$highlight_files"]
} else {
Expand Down Expand Up @@ -11641,6 +11646,10 @@ set stuffsaved 0
set patchnum 0
set lserial 0
set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}]
set cdup {}
if {$isworktree} {
set cdup [exec git rev-parse --show-cdup]
}
setcoords
makewindow
catch {
Expand Down

0 comments on commit c332f44

Please sign in to comment.