mirror of
https://git.zx2c4.com/cgit
synced 2024-11-09 10:08:42 +00:00
cgit.c: improve error message when git repo cannot be accessed
The current 'Not a git repository' error message is not very helpful, since it doesn't state the cause of the problem. This patch uses errno to provide a hint of the underlying problem. It would have been even better to give the exact cause (e.g. for ENOENT it would be nice to know which file/directory is missing), but that would require reimplementing setup_git_directory_gently() which seems a bit overkill. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
46ca32e043
commit
9900ac022e
6
cgit.c
6
cgit.c
@ -403,13 +403,17 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
|
|||||||
char *tmp;
|
char *tmp;
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
int nongit = 0;
|
int nongit = 0;
|
||||||
|
int rc;
|
||||||
|
|
||||||
setenv("GIT_DIR", ctx->repo->path, 1);
|
setenv("GIT_DIR", ctx->repo->path, 1);
|
||||||
setup_git_directory_gently(&nongit);
|
setup_git_directory_gently(&nongit);
|
||||||
if (nongit) {
|
if (nongit) {
|
||||||
|
rc = errno;
|
||||||
ctx->page.title = fmt("%s - %s", ctx->cfg.root_title,
|
ctx->page.title = fmt("%s - %s", ctx->cfg.root_title,
|
||||||
"config error");
|
"config error");
|
||||||
tmp = fmt("Not a git repository: '%s'", ctx->repo->path);
|
tmp = fmt("Failed to open %s: %s",
|
||||||
|
ctx->repo->name,
|
||||||
|
rc ? strerror(rc) : "Not a valid git repository");
|
||||||
ctx->repo = NULL;
|
ctx->repo = NULL;
|
||||||
cgit_print_http_headers(ctx);
|
cgit_print_http_headers(ctx);
|
||||||
cgit_print_docstart(ctx);
|
cgit_print_docstart(ctx);
|
||||||
|
Loading…
Reference in New Issue
Block a user