-char *cgit_root = "/usr/src/git";
-char *cgit_root_title = "Git repository browser";
-char *cgit_css = "/cgit.css";
-char *cgit_logo = "/git-logo.png";
-char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
-char *cgit_virtual_root = NULL;
-
-char *cgit_cache_root = "/var/cache/cgit";
-
-int cgit_max_lock_attempts = 5;
-int cgit_cache_root_ttl = 5;
-int cgit_cache_repo_ttl = 5;
-int cgit_cache_dynamic_ttl = 5;
-int cgit_cache_static_ttl = -1;
-int cgit_cache_max_create_time = 5;
-
-char *cgit_repo_name = NULL;
-char *cgit_repo_desc = NULL;
-char *cgit_repo_owner = NULL;
-
-int cgit_query_has_symref = 0;
-int cgit_query_has_sha1 = 0;
-
-char *cgit_querystring = NULL;
-char *cgit_query_repo = NULL;
-char *cgit_query_page = NULL;
-char *cgit_query_head = NULL;
-char *cgit_query_sha1 = NULL;
-
-struct cacheitem cacheitem;
-
-void cgit_global_config_cb(const char *name, const char *value)
-{
- if (!strcmp(name, "root"))
- cgit_root = xstrdup(value);
- else if (!strcmp(name, "root-title"))
- cgit_root_title = xstrdup(value);
- else if (!strcmp(name, "css"))
- cgit_css = xstrdup(value);
- else if (!strcmp(name, "logo"))
- cgit_logo = xstrdup(value);
- else if (!strcmp(name, "logo-link"))
- cgit_logo_link = xstrdup(value);
- else if (!strcmp(name, "virtual-root"))
- cgit_virtual_root = xstrdup(value);
-}
-
-void cgit_repo_config_cb(const char *name, const char *value)
-{
- if (!strcmp(name, "name"))
- cgit_repo_name = xstrdup(value);
- else if (!strcmp(name, "desc"))
- cgit_repo_desc = xstrdup(value);
- else if (!strcmp(name, "owner"))
- cgit_repo_owner = xstrdup(value);
-}
-
-void cgit_querystring_cb(const char *name, const char *value)
-{
- if (!strcmp(name,"r"))
- cgit_query_repo = xstrdup(value);
- else if (!strcmp(name, "p"))
- cgit_query_page = xstrdup(value);
- else if (!strcmp(name, "h")) {
- cgit_query_head = xstrdup(value);
- cgit_query_has_symref = 1;
- } else if (!strcmp(name, "id")) {
- cgit_query_sha1 = xstrdup(value);
- cgit_query_has_sha1 = 1;
- }
-}
-
-static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
- int flags, void *cb_data)
-{
- struct commit *commit;
- char buf[256], *url;
-
- commit = lookup_commit(sha1);
- if (commit && !parse_commit(commit)){
- html("<tr><td>");
- url = cgit_pageurl(cgit_query_repo, "log",
- fmt("h=%s", refname));
- html_link_open(url, NULL, NULL);
- strncpy(buf, refname, sizeof(buf));
- html_txt(buf);
- html_link_close();
- html("</td><td>");
- pretty_print_commit(CMIT_FMT_ONELINE, commit, ~0, buf,
- sizeof(buf), 0, NULL, NULL, 0);
- html_txt(buf);
- html("</td></tr>\n");
- } else {
- html("<tr><td>");
- html_txt(buf);
- html("</td><td>");
- htmlf("*** bad ref %s", sha1_to_hex(sha1));
- html("</td></tr>\n");
- }
- return 0;
-}
-
-static void cgit_print_branches()
-{
- html("<table class='list'>");
- html("<tr><th>Branch name</th><th>Head commit</th></tr>\n");
- for_each_branch_ref(cgit_print_branch_cb, NULL);
- html("</table>");
-}
-
-static int get_one_line(char *txt)
-{
- char *t;
-
- for(t=txt; *t != '\n' && t != '\0'; t++)
- ;
- *t = '\0';
- return t-txt-1;
-}
-
-static void cgit_print_commit_shortlog(struct commit *commit)