-rw-r--r-- | cgit.css | 6 | ||||
-rwxr-xr-x | tests/t0105-commit.sh | 2 | ||||
-rw-r--r-- | ui-commit.c | 4 | ||||
-rw-r--r-- | ui-log.h | 1 |
4 files changed, 12 insertions, 1 deletions
@@ -487,32 +487,38 @@ a.tag-deco { padding: 0px 0.25em; background-color: #ffff88; border: solid 1px #777700; } a.remote-deco { margin: 0px 0.5em; padding: 0px 0.25em; background-color: #ccccff; border: solid 1px #000077; } a.deco { margin: 0px 0.5em; padding: 0px 0.25em; background-color: #ff8888; border: solid 1px #770000; } + +div.commit-subject a { + margin-left: 1em; + font-size: 75%; +} + table.stats { border: solid 1px black; border-collapse: collapse; } table.stats th { text-align: left; padding: 1px 0.5em; background-color: #eee; border: solid 1px black; } table.stats td { text-align: right; padding: 1px 0.5em; border: solid 1px black; diff --git a/tests/t0105-commit.sh b/tests/t0105-commit.sh index a864612..ae794c8 100755 --- a/tests/t0105-commit.sh +++ b/tests/t0105-commit.sh @@ -1,28 +1,28 @@ #!/bin/sh . ./setup.sh prepare_tests "Check content on commit page" run_test 'generate foo/commit' 'cgit_url "foo/commit" >trash/tmp' run_test 'find tree link' 'grep -e "<a href=./foo/tree/.>" trash/tmp' run_test 'find parent link' 'grep -E "<a href=./foo/commit/\?id=.+>" trash/tmp' run_test 'find commit subject' ' - grep -e "<div class=.commit-subject.>commit 5</div>" trash/tmp + grep -e "<div class=.commit-subject.>commit 5<" trash/tmp ' run_test 'find commit msg' 'grep -e "<div class=.commit-msg.></div>" trash/tmp' run_test 'find diffstat' 'grep -e "<table summary=.diffstat. class=.diffstat.>" trash/tmp' run_test 'find diff summary' ' grep -e "1 files changed, 1 insertions, 0 deletions" trash/tmp ' run_test 'get root commit' ' root=$(cd trash/repos/foo && git rev-list --reverse HEAD | head -1) && cgit_url "foo/commit&id=$root" >trash/tmp && grep "</html>" trash/tmp ' run_test 'root commit contains diffstat' ' diff --git a/ui-commit.c b/ui-commit.c index a6a85a4..41ce70e 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -1,52 +1,55 @@ /* ui-commit.c: generate commit view * * Copyright (C) 2006 Lars Hjemli * * Licensed under GNU General Public License v2 * (see COPYING for full license text) */ #include "cgit.h" #include "html.h" #include "ui-shared.h" #include "ui-diff.h" +#include "ui-log.h" void cgit_print_commit(char *hex) { struct commit *commit, *parent; struct commitinfo *info; struct commit_list *p; unsigned char sha1[20]; char *tmp; int parents = 0; if (!hex) hex = ctx.qry.head; if (get_sha1(hex, sha1)) { cgit_print_error(fmt("Bad object id: %s", hex)); return; } commit = lookup_commit_reference(sha1); if (!commit) { cgit_print_error(fmt("Bad commit reference: %s", hex)); return; } info = cgit_parse_commit(commit); + load_ref_decorations(); + html("<table summary='commit info' class='commit-info'>\n"); html("<tr><th>author</th><td>"); html_txt(info->author); html(" "); html_txt(info->author_email); html("</td><td class='right'>"); cgit_print_date(info->author_date, FMT_LONGDATE, ctx.cfg.local_time); html("</td></tr>\n"); html("<tr><th>committer</th><td>"); html_txt(info->committer); html(" "); html_txt(info->committer_email); html("</td><td class='right'>"); cgit_print_date(info->committer_date, FMT_LONGDATE, ctx.cfg.local_time); html("</td></tr>\n"); html("<tr><th>commit</th><td colspan='2' class='sha1'>"); @@ -74,29 +77,30 @@ void cgit_print_commit(char *hex) ctx.qry.head, sha1_to_hex(p->item->object.sha1)); html(" ("); cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex, sha1_to_hex(p->item->object.sha1), NULL); html(")</td></tr>"); parents++; } if (ctx.repo->snapshots) { html("<tr><th>download</th><td colspan='2' class='sha1'>"); cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head, hex, ctx.repo->snapshots); html("</td></tr>"); } html("</table>\n"); html("<div class='commit-subject'>"); html_txt(info->subject); + show_commit_decorations(commit); html("</div>"); html("<div class='commit-msg'>"); html_txt(info->msg); html("</div>"); if (parents < 3) { if (parents) tmp = sha1_to_hex(commit->parents->item->object.sha1); else tmp = NULL; cgit_print_diff(ctx.qry.sha1, tmp, NULL); } cgit_free_commitinfo(info); } @@ -1,7 +1,8 @@ #ifndef UI_LOG_H #define UI_LOG_H extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern, char *path, int pager); +extern void show_commit_decorations(struct commit *commit); #endif /* UI_LOG_H */ |