summaryrefslogtreecommitdiffabout
path: root/ui-commit.c
authorLars Hjemli <hjemli@gmail.com>2008-04-17 16:29:50 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-04-17 16:33:33 (UTC)
commit9ec5cd7944a7099515b7d41107007d6332a2540e (patch) (unidiff)
tree3d3284c73a72e7122cde02b0eb7ff1f4d8cd1a0d /ui-commit.c
parent3cfcb086abfc2e94426623b487a47a8b5cc57b7e (diff)
downloadcgit-9ec5cd7944a7099515b7d41107007d6332a2540e.zip
cgit-9ec5cd7944a7099515b7d41107007d6332a2540e.tar.gz
cgit-9ec5cd7944a7099515b7d41107007d6332a2540e.tar.bz2
Fix commitdiff annoyance
Someone were a bit sloppy when the commitdiff got included 'inline' in commit 89aa3c0d0a4c6d9885272602005975b763ea1604. This patch deletes a stray `)` and makes sure the diffstat summary `<div>` is closed before the full diff is printed. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-commit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-commit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ui-commit.c b/ui-commit.c
index dd36cc0..12a96fb 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -134,103 +134,103 @@ void inspect_filepair(struct diff_filepair *pair)
134 total_adds += lines_added; 134 total_adds += lines_added;
135 total_rems += lines_removed; 135 total_rems += lines_removed;
136} 136}
137 137
138 138
139void cgit_print_commit(char *hex) 139void cgit_print_commit(char *hex)
140{ 140{
141 struct commit *commit, *parent; 141 struct commit *commit, *parent;
142 struct commitinfo *info; 142 struct commitinfo *info;
143 struct commit_list *p; 143 struct commit_list *p;
144 unsigned char sha1[20]; 144 unsigned char sha1[20];
145 char *tmp; 145 char *tmp;
146 int i; 146 int i;
147 147
148 if (!hex) 148 if (!hex)
149 hex = ctx.qry.head; 149 hex = ctx.qry.head;
150 curr_rev = hex; 150 curr_rev = hex;
151 151
152 if (get_sha1(hex, sha1)) { 152 if (get_sha1(hex, sha1)) {
153 cgit_print_error(fmt("Bad object id: %s", hex)); 153 cgit_print_error(fmt("Bad object id: %s", hex));
154 return; 154 return;
155 } 155 }
156 commit = lookup_commit_reference(sha1); 156 commit = lookup_commit_reference(sha1);
157 if (!commit) { 157 if (!commit) {
158 cgit_print_error(fmt("Bad commit reference: %s", hex)); 158 cgit_print_error(fmt("Bad commit reference: %s", hex));
159 return; 159 return;
160 } 160 }
161 info = cgit_parse_commit(commit); 161 info = cgit_parse_commit(commit);
162 162
163 html("<table summary='commit info' class='commit-info'>\n"); 163 html("<table summary='commit info' class='commit-info'>\n");
164 html("<tr><th>author</th><td>"); 164 html("<tr><th>author</th><td>");
165 html_txt(info->author); 165 html_txt(info->author);
166 html(" "); 166 html(" ");
167 html_txt(info->author_email); 167 html_txt(info->author_email);
168 html("</td><td class='right'>"); 168 html("</td><td class='right'>");
169 cgit_print_date(info->author_date, FMT_LONGDATE); 169 cgit_print_date(info->author_date, FMT_LONGDATE);
170 html("</td></tr>\n"); 170 html("</td></tr>\n");
171 html("<tr><th>committer</th><td>"); 171 html("<tr><th>committer</th><td>");
172 html_txt(info->committer); 172 html_txt(info->committer);
173 html(" "); 173 html(" ");
174 html_txt(info->committer_email); 174 html_txt(info->committer_email);
175 html("</td><td class='right'>"); 175 html("</td><td class='right'>");
176 cgit_print_date(info->committer_date, FMT_LONGDATE); 176 cgit_print_date(info->committer_date, FMT_LONGDATE);
177 html("</td></tr>\n"); 177 html("</td></tr>\n");
178 html("<tr><th>commit</th><td colspan='2' class='sha1'>"); 178 html("<tr><th>commit</th><td colspan='2' class='sha1'>");
179 tmp = sha1_to_hex(commit->object.sha1); 179 tmp = sha1_to_hex(commit->object.sha1);
180 cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp); 180 cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp);
181 html(" ("); 181 html(" (");
182 cgit_patch_link("patch", NULL, NULL, NULL, tmp); 182 cgit_patch_link("patch", NULL, NULL, NULL, tmp);
183 html(")</td></tr>\n"); 183 html(")</td></tr>\n");
184 html("<tr><th>tree</th><td colspan='2' class='sha1'>"); 184 html("<tr><th>tree</th><td colspan='2' class='sha1'>");
185 tmp = xstrdup(hex); 185 tmp = xstrdup(hex);
186 cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, 186 cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL,
187 ctx.qry.head, tmp, NULL); 187 ctx.qry.head, tmp, NULL);
188 html("</td></tr>\n"); 188 html("</td></tr>\n");
189 for (p = commit->parents; p ; p = p->next) { 189 for (p = commit->parents; p ; p = p->next) {
190 parent = lookup_commit_reference(p->item->object.sha1); 190 parent = lookup_commit_reference(p->item->object.sha1);
191 if (!parent) { 191 if (!parent) {
192 html("<tr><td colspan='3'>"); 192 html("<tr><td colspan='3'>");
193 cgit_print_error("Error reading parent commit"); 193 cgit_print_error("Error reading parent commit");
194 html("</td></tr>"); 194 html("</td></tr>");
195 continue; 195 continue;
196 } 196 }
197 html("<tr><th>parent</th>" 197 html("<tr><th>parent</th>"
198 "<td colspan='2' class='sha1'>"); 198 "<td colspan='2' class='sha1'>");
199 cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL, 199 cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL,
200 ctx.qry.head, sha1_to_hex(p->item->object.sha1)); 200 ctx.qry.head, sha1_to_hex(p->item->object.sha1));
201 html(" ("); 201 html(" (");
202 cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex, 202 cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex,
203 sha1_to_hex(p->item->object.sha1), NULL); 203 sha1_to_hex(p->item->object.sha1), NULL);
204 html(")</td></tr>"); 204 html(")</td></tr>");
205 } 205 }
206 if (ctx.repo->snapshots) { 206 if (ctx.repo->snapshots) {
207 html("<tr><th>download</th><td colspan='2' class='sha1'>"); 207 html("<tr><th>download</th><td colspan='2' class='sha1'>");
208 cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head, 208 cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head,
209 hex, ctx.repo->snapshots); 209 hex, ctx.repo->snapshots);
210 html("</td></tr>"); 210 html("</td></tr>");
211 } 211 }
212 html("</table>\n"); 212 html("</table>\n");
213 html("<div class='commit-subject'>"); 213 html("<div class='commit-subject'>");
214 html_txt(info->subject); 214 html_txt(info->subject);
215 html("</div>"); 215 html("</div>");
216 html("<div class='commit-msg'>"); 216 html("<div class='commit-msg'>");
217 html_txt(info->msg); 217 html_txt(info->msg);
218 html("</div>"); 218 html("</div>");
219 if (!(commit->parents && commit->parents->next && commit->parents->next->next)) { 219 if (!(commit->parents && commit->parents->next && commit->parents->next->next)) {
220 html("<div class='diffstat-header'>Diffstat</div>"); 220 html("<div class='diffstat-header'>Diffstat</div>");
221 html("<table summary='diffstat' class='diffstat'>"); 221 html("<table summary='diffstat' class='diffstat'>");
222 max_changes = 0; 222 max_changes = 0;
223 cgit_diff_commit(commit, inspect_filepair); 223 cgit_diff_commit(commit, inspect_filepair);
224 for(i = 0; i<files; i++) 224 for(i = 0; i<files; i++)
225 print_fileinfo(&items[i]); 225 print_fileinfo(&items[i]);
226 html("</table>"); 226 html("</table>");
227 html("<div class='diffstat-summary'>"); 227 html("<div class='diffstat-summary'>");
228 htmlf("%d files changed, %d insertions, %d deletions", 228 htmlf("%d files changed, %d insertions, %d deletions",
229 files, total_adds, total_rems); 229 files, total_adds, total_rems);
230 html("</div>");
230 cgit_print_diff(ctx.qry.sha1, 231 cgit_print_diff(ctx.qry.sha1,
231 sha1_to_hex(commit->parents->item->object.sha1), 232 sha1_to_hex(commit->parents->item->object.sha1),
232 NULL); 233 NULL);
233 html(")</div>");
234 } 234 }
235 cgit_free_commitinfo(info); 235 cgit_free_commitinfo(info);
236} 236}