git-sh-setup: be explicit where to dot-source git-sh-i18n from.

d323c6b641 ("i18n: git-sh-setup.sh: mark strings for translation", 2016-06-17) started to dot-source git-sh-i18n shell script library, assuming that $PATH is already adjusted for our scripts, namely, $GIT_EXEC_PATH is at the beginning of $PATH. Old contrib scripts like contrib/convert-grafts-to-replace-refs.sh and contrib/rerere-train.sh and third-party scripts like guilt may however be using this as ". $(git --exec-path)/git-sh-setup", without satisfying that assumption. Be more explicit by specifying its path prefixed with "$(git --exec-path)/". to be safe. While we’re here, move the sourcing of git-sh-i18n below the shell portability fixes. Signed-off-by: Anders Kaseorg <andersk@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Anders Kaseorg committed Oct 29, 2016 at 22:10 UTC 1073094f30a8dd5ae49f2146f587085c4fe86410
1 file changed +3 -3
git-sh-setup.sh
+3 -3
@@ -2,9 +2,6 @@
2 # to set up some variables pointing at the normal git directories and
3 # a few helper shell functions.
4
5 -# Source git-sh-i18n for gettext support.
6 -. git-sh-i18n
7 -
5 # Having this variable in your environment would break scripts because
6 # you would cause "cd" to be taken to unexpected places. If you
7 # like CDPATH, define it for your interactive shell sessions without
@@ -46,6 +43,9 @@ git_broken_path_fix () {
43
44 # @@BROKEN_PATH_FIX@@
45
46 +# Source git-sh-i18n for gettext support.
47 +. "$(git --exec-path)/git-sh-i18n"
48 +
49 die () {
50 die_with_status 1 "$@"
51 }