X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=setup.c;h=6c2deda18492acb5a8597563d6843f9d0dd232c0;hb=f8c62880ef22b74ea6df47bb349ff0743d2a93f9;hp=59735c14506fbf29549628294f98a7d0c7b64b79;hpb=f3cad0ad82e24966bf7bcc8a47670c54c30e4b18;p=git.git diff --git a/setup.c b/setup.c index 59735c145..6c2deda18 100644 --- a/setup.c +++ b/setup.c @@ -370,7 +370,11 @@ const char *setup_git_directory_gently(int *nongit_ok) inside_git_dir = 1; if (!work_tree_env) inside_work_tree = 0; - setenv(GIT_DIR_ENVIRONMENT, ".", 1); + if (offset != len) { + cwd[offset] = '\0'; + setenv(GIT_DIR_ENVIRONMENT, cwd, 1); + } else + setenv(GIT_DIR_ENVIRONMENT, ".", 1); check_repository_format_gently(nongit_ok); return NULL; } @@ -382,9 +386,10 @@ const char *setup_git_directory_gently(int *nongit_ok) *nongit_ok = 1; return NULL; } - die("Not a git repository"); + die("Not a git repository (or any of the parent directories): %s", DEFAULT_GIT_DIR_ENVIRONMENT); } - chdir(".."); + if (chdir("..")) + die("Cannot change to %s/..: %s", cwd, strerror(errno)); } inside_git_dir = 0;