On Mon, Nov 7, 2016 at 10:30 AM, Anthony Sottile <asottile@xxxxxxxxx> wrote: > This has worked great up until now (and is very convenient for trying things > out without blowing away the system installation). What changed? > (Just guessing myself:) $ git log --grep git-sh-i18n v2.10.0..v2.11.0-rc0 commit da14d73d5eacfb2fa9d054f94d9eecb2244c3ce5 Merge: 2f445c17e5 1073094f30 Author: Junio C Hamano <gitster@xxxxxxxxx> Date: Mon Oct 31 13:15:25 2016 -0700 Merge branch 'ak/sh-setup-dot-source-i18n-fix' Recent update to git-sh-setup (a library of shell functions that are used by our in-tree scripted Porcelain commands) included another shell library git-sh-i18n without specifying where it is, relying on the $PATH. This has been fixed to be more explicit by prefixing $(git --exec-path) output in front. * ak/sh-setup-dot-source-i18n-fix: git-sh-setup: be explicit where to dot-source git-sh-i18n from. commit 1073094f30a8dd5ae49f2146f587085c4fe86410 Author: Anders Kaseorg <andersk@xxxxxxx> Date: Sat Oct 29 22:10:02 2016 -0400 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@xxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>