X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=setup.c;h=6b277b6a11d3d8419d79a93628b9923001a065a6;hb=1cbe69f649fc45a3052e82c8e92e4a0f9eff67ed;hp=2e3248a0c4958f31001213470a88d1154b5947fc;hpb=cd50988ae03e086ca1a8f18584153d359699ea25;p=git.git diff --git a/setup.c b/setup.c index 2e3248a0c..6b277b6a1 100644 --- a/setup.c +++ b/setup.c @@ -110,9 +110,7 @@ const char *prefix_path(const char *prefix, int len, const char *path) if (strncmp(sanitized, work_tree, len) || (sanitized[len] != '\0' && sanitized[len] != '/')) { error_out: - error("'%s' is outside repository", orig); - free(sanitized); - return NULL; + die("'%s' is outside repository", orig); } if (sanitized[len] == '/') len++; @@ -216,10 +214,7 @@ const char **get_pathspec(const char *prefix, const char **pathspec) prefixlen = prefix ? strlen(prefix) : 0; while (*src) { const char *p = prefix_path(prefix, prefixlen, *src); - if (p) - *(dst++) = p; - else - exit(128); /* error message already given */ + *(dst++) = p; src++; } *dst = NULL; @@ -473,9 +468,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;