]> gitweb.ps.run Git - ps-cgit/blobdiff - cgit.c
Merge branch 'stable'
[ps-cgit] / cgit.c
diff --git a/cgit.c b/cgit.c
index 6be3754d47d1c75300189ebab68e0a1c6488a139..b7807ad81a71d34d1a647a282dd5eb71dc72ef0c 100644 (file)
--- a/cgit.c
+++ b/cgit.c
@@ -244,6 +244,8 @@ void config_cb(const char *name, const char *value)
                ctx.cfg.robots = xstrdup(value);
        else if (!strcmp(name, "clone-prefix"))
                ctx.cfg.clone_prefix = xstrdup(value);
+       else if (!strcmp(name, "clone-url"))
+               ctx.cfg.clone_url = xstrdup(value);
        else if (!strcmp(name, "local-time"))
                ctx.cfg.local_time = atoi(value);
        else if (!prefixcmp(name, "mimetype."))
@@ -419,13 +421,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);
@@ -463,6 +469,7 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
                cgit_print_docend();
                return 1;
        }
+       cgit_prepare_repo_env(ctx->repo);
        return 0;
 }