Always use git-rev-parse to find a valid git directory, as git-repo-config no longer returns an error code if a git directory wasn't found. This fixes the message received when invoking certain commands implemented as shell scripts from outside of a git tree, so e.g. instead of receiving this: /home/rob/bin/git-fetch: line 89: /FETCH_HEAD: Permission denied We get this again: fatal: Not a git repository: '.git' Also, move the setting of GIT_OBJECT_DIRECTORY to outside of the non-subdir-ok case as it isn't specific to that case. Signed-off-by: Robert Shearman --- git-sh-setup.sh | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-) Hopefully this patch addresses the concerns of Junio and others by continuing to allow git-ls-remotes to work outside of a git repository.