diff --git a/cgit.css b/cgit.css index 6e47eb3..0c88b65 100644 --- a/cgit.css +++ b/cgit.css @@ -164,6 +164,17 @@ table.list td.logmsg { padding: 1em 0.5em 2em 0.5em; } +table.list td.lognotes-label { + text-align:right; + vertical-align:top; +} + +table.list td.lognotes { + font-family: monospace; + white-space: pre; + padding: 0em 0.5em 2em 0.5em; +} + table.list td a { color: black; } @@ -326,6 +337,24 @@ div.commit-msg { font-family: monospace; } +div.notes-header { + font-weight: bold; + padding-top: 1.5em; +} + +div.notes { + white-space: pre; + font-family: monospace; + border: solid 1px #ee9; + background-color: #ffd; + padding: 0.3em 2em 0.3em 1em; + float: left; +} + +div.notes-footer { + clear: left; +} + div.diffstat-header { font-weight: bold; padding-top: 1.5em; diff --git a/cgit.h b/cgit.h index e9e2718..32d9d2b 100644 --- a/cgit.h +++ b/cgit.h @@ -19,6 +19,7 @@ #include #include #include +#include /* diff --git a/ui-commit.c b/ui-commit.c index a11bc5f..45af450 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -17,6 +17,7 @@ void cgit_print_commit(char *hex, const char *prefix) struct commit *commit, *parent; struct commitinfo *info, *parent_info; struct commit_list *p; + struct strbuf notes = STRBUF_INIT; unsigned char sha1[20]; char *tmp, *tmp2; int parents = 0; @@ -35,6 +36,8 @@ void cgit_print_commit(char *hex, const char *prefix) } info = cgit_parse_commit(commit); + get_commit_notes(commit, ¬es, PAGE_ENCODING, 0); + load_ref_decorations(DECORATE_FULL_REFS); html("\n"); @@ -120,6 +123,17 @@ void cgit_print_commit(char *hex, const char *prefix) if (ctx.repo->commit_filter) cgit_close_filter(ctx.repo->commit_filter); html(""); + if (notes.len != 0) { + html("
Notes
"); + html("
"); + if (ctx.repo->commit_filter) + cgit_open_filter(ctx.repo->commit_filter); + html_txt(notes.buf); + if (ctx.repo->commit_filter) + cgit_close_filter(ctx.repo->commit_filter); + html("
"); + html(""); + } if (parents < 3) { if (parents) tmp = sha1_to_hex(commit->parents->item->object.sha1); @@ -127,5 +141,6 @@ void cgit_print_commit(char *hex, const char *prefix) tmp = NULL; cgit_print_diff(ctx.qry.sha1, tmp, prefix); } + strbuf_release(¬es); cgit_free_commitinfo(info); } diff --git a/ui-log.c b/ui-log.c index ee93653..7f38d2a 100644 --- a/ui-log.c +++ b/ui-log.c @@ -111,6 +111,9 @@ void print_commit(struct commit *commit) } html("\n"); if (ctx.qry.showmsg) { + struct strbuf notes = STRBUF_INIT; + get_commit_notes(commit, ¬es, PAGE_ENCODING, 0); + if (ctx.repo->enable_log_filecount) { cols++; if (ctx.repo->enable_log_linecount) @@ -120,6 +123,15 @@ void print_commit(struct commit *commit) cols); html_txt(info->msg); html("\n"); + if (notes.len != 0) { + html(""); + html(""); + htmlf("\n"); + } + strbuf_release(¬es); } cgit_free_commitinfo(info); }
Notes:", + cols); + html_txt(notes.buf); + html("