summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 26b0525)
raw | patch | inline | side by side (parent: 26b0525)
author | David Aguilar <davvid@gmail.com> | |
Thu, 26 May 2011 06:21:01 +0000 (23:21 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 26 May 2011 22:05:52 +0000 (15:05 -0700) |
When using difftool with vimdiff it can be unexpected that
the current directory changes to the root of the project.
Tell vim to chdir to the value of $GIT_PREFIX to fix this.
Care is taken to quote the variable so that vim expands it.
This avoids problems when directory names contain spaces.
Signed-off-by: David Aguilar <davvid@gmail.com>
Reported-by: Frédéric Heitzmann <frederic.heitzmann@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
the current directory changes to the root of the project.
Tell vim to chdir to the value of $GIT_PREFIX to fix this.
Care is taken to quote the variable so that vim expands it.
This avoids problems when directory names contain spaces.
Signed-off-by: David Aguilar <davvid@gmail.com>
Reported-by: Frédéric Heitzmann <frederic.heitzmann@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-mergetool--lib.sh | patch | blob | history |
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index fb3f52ba2507b4fb78db150b5c183f24bd2c57c1..f5a100a567298bdcd76a6a4efadf12bf40343398 100644 (file)
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
}
run_merge_tool () {
+ # If GIT_PREFIX is empty then we cannot use it in tools
+ # that expect to be able to chdir() to its value.
+ GIT_PREFIX=${GIT_PREFIX:-.}
+ export GIT_PREFIX
+
merge_tool_path="$(get_merge_tool_path "$1")" || exit
base_present="$2"
status=0
check_unchanged
else
"$merge_tool_path" -R -f -d -c "wincmd l" \
+ -c 'cd $GIT_PREFIX' \
"$LOCAL" "$REMOTE"
fi
;;
check_unchanged
else
"$merge_tool_path" -R -f -d -c "wincmd l" \
+ -c 'cd $GIT_PREFIX' \
"$LOCAL" "$REMOTE"
fi
;;