From 9900ac022edfcfacee317d19a0f1d4d03b837b43 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sat, 18 Jun 2011 14:32:43 +0200 Subject: 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 --- cgit.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cgit.c b/cgit.c index e498030..5259f56 100644 --- a/cgit.c +++ b/cgit.c @@ -403,13 +403,17 @@ static int prepare_repo_cmd(struct cgit_context *ctx) char *tmp; unsigned char sha1[20]; int nongit = 0; + int rc; setenv("GIT_DIR", ctx->repo->path, 1); setup_git_directory_gently(&nongit); if (nongit) { + rc = errno; ctx->page.title = fmt("%s - %s", ctx->cfg.root_title, "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; cgit_print_http_headers(ctx); cgit_print_docstart(ctx); -- cgit 1.4.1 amp;id=2ef4edee19c3f935dfffc3e0f4a56f5e2f183fa4&follow=1'>commit diff
Commit message (Expand)Author
2015-08-13redirect: cleanlinessJason A. Donenfeld
2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld
2015-08-12ui-log: fix double countingJohn Keeping
2015-08-12log: allow users to follow a fileJohn Keeping
2015-08-12shared: make cgit_diff_tree_cb publicJohn Keeping
2015-08-12t0110: Chain together using &&Jason A. Donenfeld
2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld
2015-08-12filters: apply HTML escapingLazaros Koromilas
2015-08-12git: update to v2.5.0Christian Hesse
2015-08-12Fix processing of repo.hide and repo.ignoreDaniel Reichelt