Merge branch 'js/notes'

This commit is contained in:
Lars Hjemli 2010-08-04 03:10:24 +02:00
commit e6c960c7c0
4 changed files with 57 additions and 0 deletions

View File

@ -164,6 +164,17 @@ table.list td.logmsg {
padding: 1em 0.5em 2em 0.5em; 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 { table.list td a {
color: black; color: black;
} }
@ -326,6 +337,24 @@ div.commit-msg {
font-family: monospace; 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 { div.diffstat-header {
font-weight: bold; font-weight: bold;
padding-top: 1.5em; padding-top: 1.5em;

1
cgit.h
View File

@ -19,6 +19,7 @@
#include <xdiff-interface.h> #include <xdiff-interface.h>
#include <xdiff/xdiff.h> #include <xdiff/xdiff.h>
#include <utf8.h> #include <utf8.h>
#include <notes.h>
/* /*

View File

@ -17,6 +17,7 @@ void cgit_print_commit(char *hex, const char *prefix)
struct commit *commit, *parent; struct commit *commit, *parent;
struct commitinfo *info, *parent_info; struct commitinfo *info, *parent_info;
struct commit_list *p; struct commit_list *p;
struct strbuf notes = STRBUF_INIT;
unsigned char sha1[20]; unsigned char sha1[20];
char *tmp, *tmp2; char *tmp, *tmp2;
int parents = 0; int parents = 0;
@ -35,6 +36,8 @@ void cgit_print_commit(char *hex, const char *prefix)
} }
info = cgit_parse_commit(commit); info = cgit_parse_commit(commit);
get_commit_notes(commit, &notes, PAGE_ENCODING, 0);
load_ref_decorations(DECORATE_FULL_REFS); load_ref_decorations(DECORATE_FULL_REFS);
html("<table summary='commit info' class='commit-info'>\n"); html("<table summary='commit info' class='commit-info'>\n");
@ -120,6 +123,17 @@ void cgit_print_commit(char *hex, const char *prefix)
if (ctx.repo->commit_filter) if (ctx.repo->commit_filter)
cgit_close_filter(ctx.repo->commit_filter); cgit_close_filter(ctx.repo->commit_filter);
html("</div>"); 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) { if (parents < 3) {
if (parents) if (parents)
tmp = sha1_to_hex(commit->parents->item->object.sha1); tmp = sha1_to_hex(commit->parents->item->object.sha1);
@ -127,5 +141,6 @@ void cgit_print_commit(char *hex, const char *prefix)
tmp = NULL; tmp = NULL;
cgit_print_diff(ctx.qry.sha1, tmp, prefix); cgit_print_diff(ctx.qry.sha1, tmp, prefix);
} }
strbuf_release(&notes);
cgit_free_commitinfo(info); cgit_free_commitinfo(info);
} }

View File

@ -111,6 +111,9 @@ void print_commit(struct commit *commit)
} }
html("</td></tr>\n"); html("</td></tr>\n");
if (ctx.qry.showmsg) { if (ctx.qry.showmsg) {
struct strbuf notes = STRBUF_INIT;
get_commit_notes(commit, &notes, PAGE_ENCODING, 0);
if (ctx.repo->enable_log_filecount) { if (ctx.repo->enable_log_filecount) {
cols++; cols++;
if (ctx.repo->enable_log_linecount) if (ctx.repo->enable_log_linecount)
@ -120,6 +123,15 @@ void print_commit(struct commit *commit)
cols); cols);
html_txt(info->msg); html_txt(info->msg);
html("</td></tr>\n"); 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(&notes);
} }
cgit_free_commitinfo(info); cgit_free_commitinfo(info);
} }