-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | cgit.css | 29 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | ui-commit.c | 15 | ||||
-rw-r--r-- | ui-log.c | 12 | ||||
-rw-r--r-- | ui-refs.c | 26 |
6 files changed, 72 insertions, 13 deletions
@@ -1,2 +1,2 @@ -CGIT_VERSION = v0.8.3.2 +CGIT_VERSION = v0.8.3.3 CGIT_SCRIPT_NAME = cgit.cgi @@ -166,2 +166,13 @@ table.list td.logmsg { +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 { @@ -328,2 +339,20 @@ div.commit-msg { +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 { @@ -21,2 +21,3 @@ #include <utf8.h> +#include <notes.h> diff --git a/ui-commit.c b/ui-commit.c index a11bc5f..45af450 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -19,2 +19,3 @@ void cgit_print_commit(char *hex, const char *prefix) struct commit_list *p; + struct strbuf notes = STRBUF_INIT; unsigned char sha1[20]; @@ -37,2 +38,4 @@ void cgit_print_commit(char *hex, const char *prefix) + get_commit_notes(commit, ¬es, PAGE_ENCODING, 0); + load_ref_decorations(DECORATE_FULL_REFS); @@ -122,2 +125,13 @@ void cgit_print_commit(char *hex, const char *prefix) html("</div>"); + if (notes.len != 0) { + html("<div class='notes-header'>Notes</div>"); + html("<div class='notes'>"); + 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("</div>"); + html("<div class='notes-footer'></div>"); + } if (parents < 3) { @@ -129,2 +143,3 @@ void cgit_print_commit(char *hex, const char *prefix) } + strbuf_release(¬es); cgit_free_commitinfo(info); @@ -113,2 +113,5 @@ void print_commit(struct commit *commit) if (ctx.qry.showmsg) { + struct strbuf notes = STRBUF_INIT; + get_commit_notes(commit, ¬es, PAGE_ENCODING, 0); + if (ctx.repo->enable_log_filecount) { @@ -122,2 +125,11 @@ void print_commit(struct commit *commit) html("</td></tr>\n"); + if (notes.len != 0) { + html("<tr class='nohover'>"); + html("<td class='lognotes-label'>Notes:</td>"); + htmlf("<td colspan='%d' class='lognotes'>", + cols); + html_txt(notes.buf); + html("</td></tr>\n"); + } + strbuf_release(¬es); } @@ -44,2 +44,15 @@ static int cmp_branch_age(const void *a, const void *b) +static int get_ref_age(struct refinfo *ref) +{ + if (!ref->object) + return 0; + switch (ref->object->type) { + case OBJ_TAG: + return ref->tag ? ref->tag->tagger_date : 0; + case OBJ_COMMIT: + return ref->commit ? ref->commit->committer_date : 0; + } + return 0; +} + static int cmp_tag_age(const void *a, const void *b) @@ -48,15 +61,4 @@ static int cmp_tag_age(const void *a, const void *b) struct refinfo *r2 = *(struct refinfo **)b; - int r1date, r2date; - - if (r1->object->type != OBJ_COMMIT) - r1date = r1->tag->tagger_date; - else - r1date = r1->commit->committer_date; - - if (r2->object->type != OBJ_COMMIT) - r2date = r2->tag->tagger_date; - else - r2date = r2->commit->committer_date; - return cmp_age(r1date, r2date); + return cmp_age(get_ref_age(r1), get_ref_age(r2)); } |