summaryrefslogtreecommitdiffabout
path: root/ui-summary.c
Unidiff
Diffstat (limited to 'ui-summary.c') (more/less context) (show whitespace changes)
-rw-r--r--ui-summary.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/ui-summary.c b/ui-summary.c
index 46814dd..8ff3642 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -9,32 +9,34 @@
9#include "cgit.h" 9#include "cgit.h"
10 10
11static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, 11static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
12 int flags, void *cb_data) 12 int flags, void *cb_data)
13{ 13{
14 struct commit *commit; 14 struct commit *commit;
15 struct commitinfo *info;
15 char buf[256], *url; 16 char buf[256], *url;
16 17
17 commit = lookup_commit(sha1); 18 commit = lookup_commit(sha1);
18 if (commit && !parse_commit(commit)){ 19 if (commit && !parse_commit(commit)){
20 info = cgit_parse_commit(commit);
19 html("<tr><td>"); 21 html("<tr><td>");
20 url = cgit_pageurl(cgit_query_repo, "log", 22 url = cgit_pageurl(cgit_query_repo, "log",
21 fmt("h=%s", refname)); 23 fmt("h=%s", refname));
22 html_link_open(url, NULL, NULL); 24 html_link_open(url, NULL, NULL);
23 strncpy(buf, refname, sizeof(buf)); 25 strncpy(buf, refname, sizeof(buf));
24 html_txt(buf); 26 html_txt(buf);
25 html_link_close(); 27 html_link_close();
26 html("</td><td>"); 28 html("</td><td>");
27 pretty_print_commit(CMIT_FMT_ONELINE, commit, ~0, buf, 29 cgit_print_date(commit->date);
28 sizeof(buf), 0, NULL, NULL, 0); 30 html("</td><td>");
29 html_txt(buf); 31 url = cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(sha1)));
30 html("</td><td><a href='"); 32 html_link_open(url, NULL, NULL);
31 html_attr(cgit_pageurl(cgit_query_repo, "tree", 33 html_txt(info->subject);
32 fmt("id=%s", 34 html_link_close();
33 sha1_to_hex(commit->tree->object.sha1)))); 35 html("</td><td>");
34 html("'>tree</a>"); 36 html_txt(info->author);
35 html("</td></tr>\n"); 37 html("</td></tr>\n");
36 } else { 38 } else {
37 html("<tr><td>"); 39 html("<tr><td>");
38 html_txt(buf); 40 html_txt(buf);
39 html("</td><td>"); 41 html("</td><td>");
40 htmlf("*** bad ref %s", sha1_to_hex(sha1)); 42 htmlf("*** bad ref %s", sha1_to_hex(sha1));
@@ -43,13 +45,13 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
43 return 0; 45 return 0;
44} 46}
45 47
46static void cgit_print_branches() 48static void cgit_print_branches()
47{ 49{
48 html("<table class='list'>"); 50 html("<table class='list'>");
49 html("<tr><th>Branch</th><th>Last commit</th><th>Link</th></tr>\n"); 51 html("<tr><th class='left'>Branch</th><th class='left'>Updated</th><th class='left'>Commit subject</th><th class='left'>Author</th></tr>\n");
50 for_each_branch_ref(cgit_print_branch_cb, NULL); 52 for_each_branch_ref(cgit_print_branch_cb, NULL);
51 html("</table>"); 53 html("</table>");
52} 54}
53 55
54void cgit_print_summary() 56void cgit_print_summary()
55{ 57{