[PATCH] Locate git helpers with type -P, for when git --exec-path is multivalued
From: Dominique Quatravaux <hidden>
Date: 2016-06-15 22:53:21
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Under a setting of (eg) GIT_EXEC_PATH=/home/joe/bin:/usr/lib/git-core, constructs such as . "$(git --exec-path)"/git-sh-setup do not work. The proper way is . "$(PATH="$(git --exec-path)" type -p git-sh-setup)" --- Documentation/git-mergetool--lib.txt | 3 ++- Documentation/git-parse-remote.txt | 2 +- Documentation/git-sh-i18n.txt | 2 +- Documentation/git-sh-setup.txt | 2 +- contrib/diffall/git-diffall | 4 ++-- git-mergetool--lib.sh | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/Documentation/git-mergetool--lib.txt b/Documentation/git-mergetool--lib.txt
index f98a41b..c7188d3 100644
--- a/Documentation/git-mergetool--lib.txt
+++ b/Documentation/git-mergetool--lib.txt@@ -8,7 +8,8 @@ git-mergetool--lib - Common git merge tool shell scriptlets SYNOPSIS -------- [verse] -'TOOL_MODE=(diff|merge) . "$(git --exec-path)/git-mergetool{litdd}lib"' +'TOOL_MODE=(diff|merge) \ + . "$(PATH="$(git --exec-path)" type -P git-mergetool{litdd}lib)"' DESCRIPTION -----------
diff --git a/Documentation/git-parse-remote.txt b/Documentation/git-parse-remote.txt
index a45ea1e..c17d7b8 100644
--- a/Documentation/git-parse-remote.txt
+++ b/Documentation/git-parse-remote.txt@@ -9,7 +9,7 @@ git-parse-remote - Routines to help parsing remote repository access parameters SYNOPSIS -------- [verse] -'. "$(git --exec-path)/git-parse-remote"' +'. "$(PATH="$(git --exec-path)" type -P git-parse-remote)"' DESCRIPTION -----------
diff --git a/Documentation/git-sh-i18n.txt b/Documentation/git-sh-i18n.txt
index 60cf49c..f74820c 100644
--- a/Documentation/git-sh-i18n.txt
+++ b/Documentation/git-sh-i18n.txt@@ -8,7 +8,7 @@ git-sh-i18n - Git's i18n setup code for shell scripts SYNOPSIS -------- [verse] -'. "$(git --exec-path)/git-sh-i18n"' +'. "$(PATH="$(git --exec-path)" type -P git-sh-i18n)"' DESCRIPTION -----------
diff --git a/Documentation/git-sh-setup.txt b/Documentation/git-sh-setup.txt
index 5e5f1c8..44c6aa9 100644
--- a/Documentation/git-sh-setup.txt
+++ b/Documentation/git-sh-setup.txt@@ -8,7 +8,7 @@ git-sh-setup - Common git shell script setup code SYNOPSIS -------- [verse] -'. "$(git --exec-path)/git-sh-setup"' +'. "$(PATH="$(git --exec-path)" type -P git-sh-setup)"' DESCRIPTION -----------
diff --git a/contrib/diffall/git-diffall b/contrib/diffall/git-diffall
index 84f2b65..451ca98 100755
--- a/contrib/diffall/git-diffall
+++ b/contrib/diffall/git-diffall@@ -22,10 +22,10 @@ USAGE='[--cached] [--copy-back] [-x|--extcmd=<command>] <commit>{0,2} [-- <path> ' SUBDIRECTORY_OK=1 -. "$(git --exec-path)/git-sh-setup" +PATH="$(PATH="$(git --exec-path)" type -P git-sh-setup)" TOOL_MODE=diff -. "$(git --exec-path)/git-mergetool--lib" +. "$(PATH="$(git --exec-path)" type -P git-mergetool--lib)" merge_tool="$(get_merge_tool)" if test -z "$merge_tool"
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index ed630b2..73d8510 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh@@ -52,7 +52,7 @@ setup_tool () { tool="$1" ;; esac - mergetools="$(git --exec-path)/mergetools" + mergetools="$(PATH="$(git --exec-path)" type -P mergetools)" # Load the default definitions . "$mergetools/defaults"
--
1.7.7.3