|
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 | |
401 | static int prepare_repo_cmd(struct cgit_context *ctx) |
401 | static 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 | |
|