X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/42effc939090b2fbf1b2b76cd1d9c30fabcd230e..02a545e:/cgit.c diff --git a/cgit.c b/cgit.c index 0deae12..f49fffa 100644 --- a/cgit.c +++ b/cgit.c @@ -25,6 +25,10 @@ void config_cb(const char *name, const char *value) ctx.cfg.root_readme = xstrdup(value); else if (!strcmp(name, "css")) ctx.cfg.css = xstrdup(value); + else if (!strcmp(name, "favicon")) + ctx.cfg.favicon = xstrdup(value); + else if (!strcmp(name, "footer")) + ctx.cfg.footer = xstrdup(value); else if (!strcmp(name, "logo")) ctx.cfg.logo = xstrdup(value); else if (!strcmp(name, "index-header")) @@ -83,6 +87,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, "local-time")) + ctx.cfg.local_time = atoi(value); else if (!strcmp(name, "repo.group")) ctx.cfg.repo_group = xstrdup(value); else if (!strcmp(name, "repo.url")) @@ -163,17 +169,21 @@ static void prepare_context(struct cgit_context *ctx) ctx->cfg.cache_static_ttl = -1; ctx->cfg.css = "/cgit.css"; ctx->cfg.logo = "/git-logo.png"; + ctx->cfg.local_time = 0; ctx->cfg.max_repo_count = 50; ctx->cfg.max_commit_count = 50; ctx->cfg.max_lock_attempts = 5; - ctx->cfg.max_msg_len = 60; - ctx->cfg.max_repodesc_len = 60; + ctx->cfg.max_msg_len = 80; + ctx->cfg.max_repodesc_len = 80; ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s"; ctx->cfg.renamelimit = -1; ctx->cfg.robots = "index, nofollow"; ctx->cfg.root_title = "Git repository browser"; ctx->cfg.root_desc = "a fast webinterface for the git dscm"; ctx->cfg.script_name = CGIT_SCRIPT_NAME; + ctx->cfg.summary_branches = 10; + ctx->cfg.summary_log = 10; + ctx->cfg.summary_tags = 10; ctx->page.mimetype = "text/html"; ctx->page.charset = PAGE_ENCODING; ctx->page.filename = NULL; @@ -203,15 +213,19 @@ int find_current_ref(const char *refname, const unsigned char *sha1, char *find_default_branch(struct cgit_repo *repo) { struct refmatch info; + char *ref; info.req_ref = repo->defbranch; info.first_ref = NULL; info.match = 0; for_each_branch_ref(find_current_ref, &info); if (info.match) - return info.req_ref; + ref = info.req_ref; else - return info.first_ref; + ref = info.first_ref; + if (ref) + ref = xstrdup(ref); + return ref; } static int prepare_repo_cmd(struct cgit_context *ctx) @@ -237,7 +251,7 @@ static int prepare_repo_cmd(struct cgit_context *ctx) ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc); if (!ctx->qry.head) { - ctx->qry.head = xstrdup(find_default_branch(ctx->repo)); + ctx->qry.head = find_default_branch(ctx->repo); ctx->repo->defbranch = ctx->qry.head; }