-rw-r--r-- | ui-summary.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ui-summary.c b/ui-summary.c index 15e8aec..4bda4c2 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -1,45 +1,48 @@ /* ui-summary.c: functions for generating repo summary page * * Copyright (C) 2006 Lars Hjemli * * Licensed under GNU General Public License v2 * (see COPYING for full license text) */ #include "cgit.h" static int header; static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, int flags, void *cb_data) { struct commit *commit; struct commitinfo *info; char buf[256], *url; strncpy(buf, refname, sizeof(buf)); commit = lookup_commit(sha1); + // object is not really parsed at this point, because of some fallout + // from previous calls to git functions in cgit_print_log() + commit->object.parsed = 0; if (commit && !parse_commit(commit)){ info = cgit_parse_commit(commit); html("<tr><td>"); url = cgit_pageurl(cgit_query_repo, "log", fmt("h=%s", refname)); html_link_open(url, NULL, NULL); html_txt(buf); html_link_close(); html("</td><td>"); cgit_print_age(commit->date, -1, NULL); html("</td><td>"); html_txt(info->author); html("</td><td>"); url = cgit_pageurl(cgit_query_repo, "commit", fmt("h=%s", sha1_to_hex(sha1))); html_link_open(url, NULL, NULL); html_ntxt(cgit_max_msg_len, info->subject); html_link_close(); html("</td></tr>\n"); cgit_free_commitinfo(info); } else { html("<tr><td>"); html_txt(buf); html("</td><td colspan='3'>"); @@ -182,31 +185,34 @@ static void cgit_print_tags() header = 0; for_each_tag_ref(cgit_print_tag_cb, NULL); } static void cgit_print_archives() { header = 0; for_each_ref(cgit_print_archive_cb, NULL); if (header) html("</table>"); } void cgit_print_summary() { html("<div id='summary'>"); cgit_print_archives(); html("<h2>"); html_txt(cgit_repo->name); html(" - "); html_txt(cgit_repo->desc); html("</h2>"); if (cgit_repo->readme) html_include(cgit_repo->readme); html("</div>"); - + if (cgit_summary_log > 0) + cgit_print_log(cgit_query_head, 0, cgit_summary_log, NULL, NULL, 0); html("<table class='list nowrap'>"); + if (cgit_summary_log > 0) + html("<tr class='nohover'><td colspan='4'> </td></tr>"); cgit_print_branches(); html("<tr class='nohover'><td colspan='4'> </td></tr>"); cgit_print_tags(); html("</table>"); } |