X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/ab2ab95f09994560f62fd631f07d3b6e3577aa6e..80e577c3ef2a73becabff7e9c9c242f317a87de9:/cgit.c diff --git a/cgit.c b/cgit.c index 2795ecc..28bab8d 100644 --- a/cgit.c +++ b/cgit.c @@ -79,19 +79,34 @@ static void cgit_print_repo_page(struct cacheitem *item) show_search = 0; setenv("GIT_DIR", cgit_repo->path, 1); - if (cgit_query_page && !strcmp(cgit_query_page, "snapshot")) { + if (cgit_query_page) { + if (cgit_repo->snapshots && !strcmp(cgit_query_page, "snapshot")) { cgit_print_snapshot(item, cgit_query_sha1, "zip", cgit_repo->url, cgit_query_name); return; + } + if (!strcmp(cgit_query_page, "blob")) { + cgit_print_blob(item, cgit_query_sha1, cgit_query_path); + return; + } } if (cgit_query_page && !strcmp(cgit_query_page, "log")) show_search = 1; + cgit_print_docstart(title, item); - cgit_print_pageheader(title, show_search); + + if (!cgit_query_page) { + cgit_print_pageheader("summary", show_search); cgit_print_summary(); - } else if (!strcmp(cgit_query_page, "log")) { + cgit_print_docend(); + return; + } + + cgit_print_pageheader(cgit_query_page, show_search); + + if (!strcmp(cgit_query_page, "log")) { cgit_print_log(cgit_query_head, cgit_query_ofs, 100, cgit_query_search); } else if (!strcmp(cgit_query_page, "tree")) { @@ -99,7 +114,7 @@ static void cgit_print_repo_page(struct cacheitem *item) } else if (!strcmp(cgit_query_page, "commit")) { cgit_print_commit(cgit_query_sha1); } else if (!strcmp(cgit_query_page, "view")) { - cgit_print_view(cgit_query_sha1); + cgit_print_view(cgit_query_sha1, cgit_query_path); } else if (!strcmp(cgit_query_page, "diff")) { cgit_print_diff(cgit_query_sha1, cgit_query_sha2); } else {