-rw-r--r-- | cgit.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -75,37 +75,46 @@ static void cgit_print_repo_page(struct cacheitem *item) return; } title = fmt("%s - %s", cgit_repo->name, cgit_repo->desc); show_search = 0; setenv("GIT_DIR", cgit_repo->path, 1); if (cgit_repo->snapshots && cgit_query_page && !strcmp(cgit_query_page, "snapshot")) { cgit_print_snapshot(item, cgit_query_sha1, "zip", cgit_repo->url, cgit_query_name); 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")) { cgit_print_tree(cgit_query_sha1, cgit_query_path); } 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); } else if (!strcmp(cgit_query_page, "diff")) { cgit_print_diff(cgit_query_sha1, cgit_query_sha2); } else { cgit_print_error("Invalid request"); } cgit_print_docend(); } |