summaryrefslogtreecommitdiffabout
path: root/cgit.c
Unidiff
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/cgit.c b/cgit.c
index e498030..5259f56 100644
--- a/cgit.c
+++ b/cgit.c
@@ -390,39 +390,43 @@ char *find_default_branch(struct cgit_repo *repo)
390 info.match = 0; 390 info.match = 0;
391 for_each_branch_ref(find_current_ref, &info); 391 for_each_branch_ref(find_current_ref, &info);
392 if (info.match) 392 if (info.match)
393 ref = info.req_ref; 393 ref = info.req_ref;
394 else 394 else
395 ref = info.first_ref; 395 ref = info.first_ref;
396 if (ref) 396 if (ref)
397 ref = xstrdup(ref); 397 ref = xstrdup(ref);
398 return ref; 398 return ref;
399} 399}
400 400
401static int prepare_repo_cmd(struct cgit_context *ctx) 401static int prepare_repo_cmd(struct cgit_context *ctx)
402{ 402{
403 char *tmp; 403 char *tmp;
404 unsigned char sha1[20]; 404 unsigned char sha1[20];
405 int nongit = 0; 405 int nongit = 0;
406 int rc;
406 407
407 setenv("GIT_DIR", ctx->repo->path, 1); 408 setenv("GIT_DIR", ctx->repo->path, 1);
408 setup_git_directory_gently(&nongit); 409 setup_git_directory_gently(&nongit);
409 if (nongit) { 410 if (nongit) {
411 rc = errno;
410 ctx->page.title = fmt("%s - %s", ctx->cfg.root_title, 412 ctx->page.title = fmt("%s - %s", ctx->cfg.root_title,
411 "config error"); 413 "config error");
412 tmp = fmt("Not a git repository: '%s'", ctx->repo->path); 414 tmp = fmt("Failed to open %s: %s",
415 ctx->repo->name,
416 rc ? strerror(rc) : "Not a valid git repository");
413 ctx->repo = NULL; 417 ctx->repo = NULL;
414 cgit_print_http_headers(ctx); 418 cgit_print_http_headers(ctx);
415 cgit_print_docstart(ctx); 419 cgit_print_docstart(ctx);
416 cgit_print_pageheader(ctx); 420 cgit_print_pageheader(ctx);
417 cgit_print_error(tmp); 421 cgit_print_error(tmp);
418 cgit_print_docend(); 422 cgit_print_docend();
419 return 1; 423 return 1;
420 } 424 }
421 ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc); 425 ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc);
422 426
423 if (!ctx->qry.head) { 427 if (!ctx->qry.head) {
424 ctx->qry.nohead = 1; 428 ctx->qry.nohead = 1;
425 ctx->qry.head = find_default_branch(ctx->repo); 429 ctx->qry.head = find_default_branch(ctx->repo);
426 ctx->repo->defbranch = ctx->qry.head; 430 ctx->repo->defbranch = ctx->qry.head;
427 } 431 }
428 432