I'm running git 2.28.0 on Cygwin. I have a script with: set -aeu at the beginning (as all scripts should have). In the script I'm trying to run: git submodule init When running via "bash -x script.sh", I get: + git submodule init ++ basename /usr/libexec/git-core/git-submodule ++ sed -e 's/-/ /' + dashless='git submodule' + USAGE='[--quiet] [--cached] or: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>] or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...] or: git submodule [--quiet] init [--] [<path>...] or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...) or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] [--] [<path>...] or: git submodule [--quiet] set-branch (--default|--branch <branch>) [--] <path> or: git submodule [--quiet] set-url [--] <path> <newurl> or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...] or: git submodule [--quiet] foreach [--recursive] <command> or: git submodule [--quiet] sync [--recursive] [--] [<path>...] or: git submodule [--quiet] absorbgitdirs [--] [<path>...]' + OPTIONS_SPEC= + SUBDIRECTORY_OK=Yes + . git-sh-setup ++ unset CDPATH ++ IFS=' ' +++ git --exec-path ++ . /usr/libexec/git-core/git-sh-i18n +++ TEXTDOMAIN=git +++ export TEXTDOMAIN /usr/libexec/git-core/git-sh-i18n: line 10: GIT_TEXTDOMAINDIR: unbound variable (TL;DR: This basically boils down to GIT_TEXTDOMAINDIR being unbound, i.e. uninitialized/non-existant.) When I exported GIT_TEXTDOMAINDIR with bogus value from my script before calling "git submodule init": export GIT_TEXTDOMAINDIR=/bogus/value I got (only error shown): /usr/libexec/git-core/git-sh-i18n: line 20: GIT_TEST_GETTEXT_POISON: unbound variable I set it to `false`, restarted and then got: /usr/libexec/git-core/git-sh-i18n: line 28: GIT_INTERNAL_GETTEXT_TEST_FALLBACKS: unbound variable I set it to empty value, restarted and then got: /usr/libexec/git-core/git-sh-setup: line 91: LONG_USAGE: unbound variable This is when I gave up. Same script run with git 2.21.0 on Linux has no problems, but I haven't compare differences between two versions, so I don't know why it stopped working. -- Jędrzej Dudkiewicz I really hate this damn machine, I wish that they would sell it. It never does just what I want, but only what I tell it.