summary refs log tree commit diff
path: root/cgit.c
diff options
context:
space:
mode:
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/cgit.c b/cgit.c
index 9eb2535..7e3d349 100644
--- a/cgit.c
+++ b/cgit.c
@@ -303,6 +303,7 @@ static void querystring_cb(const char *name, const char *value)
 		ctx.qry.period = xstrdup(value);
 	} else if (!strcmp(name, "ss")) {
 		ctx.qry.ssdiff = atoi(value);
+		ctx.qry.has_ssdiff = 1;
 	} else if (!strcmp(name, "all")) {
 		ctx.qry.show_all = atoi(value);
 	} else if (!strcmp(name, "context")) {
@@ -425,13 +426,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);