X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/7d6ee4ee8a2c79802a78bc09c0e1e96a7a82de78..6ec5f36f279a85f59db2851ab476d9acd0015770:/cgit.c diff --git a/cgit.c b/cgit.c index b943fe5..cc18ed4 100644 --- a/cgit.c +++ b/cgit.c @@ -8,9 +8,6 @@ #include "cgit.h" -const char cgit_version[] = CGIT_VERSION; - - static int cgit_prepare_cache(struct cacheitem *item) { if (!cgit_repo && cgit_query_repo) { @@ -71,8 +68,10 @@ static void cgit_print_repo_page(struct cacheitem *item) setenv("GIT_DIR", cgit_repo->path, 1); if ((cgit_cmd == CMD_SNAPSHOT) && cgit_repo->snapshots) { - cgit_print_snapshot(item, cgit_query_sha1, "zip", - cgit_repo->url, cgit_query_name); + cgit_print_snapshot(item, cgit_query_head, cgit_query_sha1, + cgit_repobasename(cgit_repo->url), + cgit_query_path, + cgit_repo->snapshots ); return; } @@ -104,8 +103,14 @@ static void cgit_print_repo_page(struct cacheitem *item) case CMD_COMMIT: cgit_print_commit(cgit_query_sha1); break; + case CMD_REFS: + cgit_print_refs(); + break; + case CMD_TAG: + cgit_print_tag(cgit_query_sha1); + break; case CMD_DIFF: - cgit_print_diff(cgit_query_sha1, cgit_query_sha2); + cgit_print_diff(cgit_query_sha1, cgit_query_sha2, cgit_query_path); break; default: cgit_print_error("Invalid request"); @@ -225,6 +230,7 @@ static void cgit_parse_args(int argc, const char **argv) int main(int argc, const char **argv) { struct cacheitem item; + const char *cgit_config_env = getenv("CGIT_CONFIG"); htmlfd = STDOUT_FILENO; item.st.st_mtime = time(NULL); @@ -232,7 +238,8 @@ int main(int argc, const char **argv) cgit_repolist.count = 0; cgit_repolist.repos = NULL; - cgit_read_config(CGIT_CONFIG, cgit_global_config_cb); + cgit_read_config(cgit_config_env ? cgit_config_env : CGIT_CONFIG, + cgit_global_config_cb); cgit_repo = NULL; if (getenv("SCRIPT_NAME")) cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));