summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.css13
-rw-r--r--ui-log.c30
2 files changed, 18 insertions, 25 deletions
diff --git a/cgit.css b/cgit.css
index 0c88b65..7a5f423 100644
--- a/cgit.css
+++ b/cgit.css
@@ -140,60 +140,49 @@ table.list tr.nohover:hover {
140 140
141table.list th { 141table.list th {
142 font-weight: bold; 142 font-weight: bold;
143 /* color: #888; 143 /* color: #888;
144 border-top: dashed 1px #888; 144 border-top: dashed 1px #888;
145 border-bottom: dashed 1px #888; 145 border-bottom: dashed 1px #888;
146 */ 146 */
147 padding: 0.1em 0.5em 0.05em 0.5em; 147 padding: 0.1em 0.5em 0.05em 0.5em;
148 vertical-align: baseline; 148 vertical-align: baseline;
149} 149}
150 150
151table.list td { 151table.list td {
152 border: none; 152 border: none;
153 padding: 0.1em 0.5em 0.1em 0.5em; 153 padding: 0.1em 0.5em 0.1em 0.5em;
154} 154}
155 155
156table.list td.logsubject { 156table.list td.logsubject {
157 font-family: monospace; 157 font-family: monospace;
158 font-weight: bold; 158 font-weight: bold;
159} 159}
160 160
161table.list td.logmsg { 161table.list td.logmsg {
162 font-family: monospace; 162 font-family: monospace;
163 white-space: pre; 163 white-space: pre;
164 padding: 1em 0.5em 2em 0.5em; 164 padding: 0 0.5em;
165}
166
167table.list td.lognotes-label {
168 text-align:right;
169 vertical-align:top;
170}
171
172table.list td.lognotes {
173 font-family: monospace;
174 white-space: pre;
175 padding: 0em 0.5em 2em 0.5em;
176} 165}
177 166
178table.list td a { 167table.list td a {
179 color: black; 168 color: black;
180} 169}
181 170
182table.list td a.ls-dir { 171table.list td a.ls-dir {
183 font-weight: bold; 172 font-weight: bold;
184 color: #00f; 173 color: #00f;
185} 174}
186 175
187table.list td a:hover { 176table.list td a:hover {
188 color: #00f; 177 color: #00f;
189} 178}
190 179
191img { 180img {
192 border: none; 181 border: none;
193} 182}
194 183
195input#switch-btn { 184input#switch-btn {
196 margin: 2px 0px 0px 0px; 185 margin: 2px 0px 0px 0px;
197} 186}
198 187
199td#sidebar input.txt { 188td#sidebar input.txt {
diff --git a/ui-log.c b/ui-log.c
index 27f5a1a..6d7fcae 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -90,71 +90,75 @@ void print_commit(struct commit *commit)
90 tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp); 90 tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
91 html_link_open(tmp, NULL, NULL); 91 html_link_open(tmp, NULL, NULL);
92 cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); 92 cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
93 html_link_close(); 93 html_link_close();
94 htmlf("</td><td%s>", 94 htmlf("</td><td%s>",
95 ctx.qry.showmsg ? " class='logsubject'" : ""); 95 ctx.qry.showmsg ? " class='logsubject'" : "");
96 cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head, 96 cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head,
97 sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0); 97 sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0);
98 show_commit_decorations(commit); 98 show_commit_decorations(commit);
99 html("</td><td>"); 99 html("</td><td>");
100 html_txt(info->author); 100 html_txt(info->author);
101 if (ctx.repo->enable_log_filecount) { 101 if (ctx.repo->enable_log_filecount) {
102 files = 0; 102 files = 0;
103 add_lines = 0; 103 add_lines = 0;
104 rem_lines = 0; 104 rem_lines = 0;
105 cgit_diff_commit(commit, inspect_files, ctx.qry.vpath); 105 cgit_diff_commit(commit, inspect_files, ctx.qry.vpath);
106 html("</td><td>"); 106 html("</td><td>");
107 htmlf("%d", files); 107 htmlf("%d", files);
108 if (ctx.repo->enable_log_linecount) { 108 if (ctx.repo->enable_log_linecount) {
109 html("</td><td>"); 109 html("</td><td>");
110 htmlf("-%d/+%d", rem_lines, add_lines); 110 htmlf("-%d/+%d", rem_lines, add_lines);
111 } 111 }
112 } 112 }
113 html("</td></tr>\n"); 113 html("</td></tr>\n");
114 if (ctx.qry.showmsg) { 114
115 struct strbuf notes = STRBUF_INIT; 115 if (ctx.qry.showmsg) { /* Print message + notes in a second table row */
116 format_note(NULL, commit->object.sha1, &notes, PAGE_ENCODING, 0); 116 /* Concatenate commit message and notes in msgbuf */
117 struct strbuf msgbuf = STRBUF_INIT;
118 if (info->msg && *(info->msg)) {
119 strbuf_addstr(&msgbuf, info->msg);
120 strbuf_addch(&msgbuf, '\n');
121 }
122 format_note(NULL, commit->object.sha1, &msgbuf, PAGE_ENCODING,
123 NOTES_SHOW_HEADER | NOTES_INDENT);
124 strbuf_addch(&msgbuf, '\n');
125 strbuf_ltrim(&msgbuf);
117 126
118 if (ctx.repo->enable_log_filecount) { 127 if (ctx.repo->enable_log_filecount) {
119 cols++; 128 cols++;
120 if (ctx.repo->enable_log_linecount) 129 if (ctx.repo->enable_log_linecount)
121 cols++; 130 cols++;
122 } 131 }
132
133 /* Create second table row containing msgbuf */
123 htmlf("<tr class='nohover'><td/><td colspan='%d' class='logmsg'>", 134 htmlf("<tr class='nohover'><td/><td colspan='%d' class='logmsg'>",
124 cols); 135 cols);
125 html_txt(info->msg); 136 html_txt(msgbuf.buf);
126 html("</td></tr>\n"); 137 html("</td></tr>\n");
127 if (notes.len != 0) { 138 strbuf_release(&msgbuf);
128 html("<tr class='nohover'>");
129 html("<td class='lognotes-label'>Notes:</td>");
130 htmlf("<td colspan='%d' class='lognotes'>",
131 cols);
132 html_txt(notes.buf);
133 html("</td></tr>\n");
134 }
135 strbuf_release(&notes);
136 } 139 }
140
137 cgit_free_commitinfo(info); 141 cgit_free_commitinfo(info);
138} 142}
139 143
140static const char *disambiguate_ref(const char *ref) 144static const char *disambiguate_ref(const char *ref)
141{ 145{
142 unsigned char sha1[20]; 146 unsigned char sha1[20];
143 const char *longref; 147 const char *longref;
144 148
145 longref = fmt("refs/heads/%s", ref); 149 longref = fmt("refs/heads/%s", ref);
146 if (get_sha1(longref, sha1) == 0) 150 if (get_sha1(longref, sha1) == 0)
147 return longref; 151 return longref;
148 152
149 return ref; 153 return ref;
150} 154}
151 155
152static char *next_token(char **src) 156static char *next_token(char **src)
153{ 157{
154 char *result; 158 char *result;
155 159
156 if (!src || !*src) 160 if (!src || !*src)
157 return NULL; 161 return NULL;
158 while (isspace(**src)) 162 while (isspace(**src))
159 (*src)++; 163 (*src)++;
160 if (!**src) 164 if (!**src)