about summary refs log tree commit diff stats
path: root/ui-diff.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-diff.c')
-rw-r--r--ui-diff.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/ui-diff.c b/ui-diff.c index 329c350..97c1ca0 100644 --- a/ui-diff.c +++ b/ui-diff.c
@@ -231,11 +231,11 @@ static void print_line(char *line, int len)
231 else if (line[0] == '@') 231 else if (line[0] == '@')
232 class = "hunk"; 232 class = "hunk";
233 233
234 htmlf("<div class='%s'>", class); 234 htmlf("<span class='%s'>", class);
235 line[len-1] = '\0'; 235 line[len-1] = '\0';
236 html_txt(line); 236 html_txt(line);
237 html("</div>");
238 line[len-1] = c; 237 line[len-1] = c;
238 html("</span>\n");
239} 239}
240 240
241static void header(const struct object_id *oid1, char *path1, int mode1, 241static void header(const struct object_id *oid1, char *path1, int mode1,
@@ -245,22 +245,23 @@ static void header(const struct object_id *oid1, char *path1, int mode1,
245 int subproject; 245 int subproject;
246 246
247 subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2)); 247 subproject = (S_ISGITLINK(mode1) || S_ISGITLINK(mode2));
248 html("<div class='head'>"); 248 html("<span class='head'>");
249 html("diff --git a/"); 249 html("diff --git a/");
250 html_txt(path1); 250 html_txt(path1);
251 html(" b/"); 251 html(" b/");
252 html_txt(path2); 252 html_txt(path2);
253 html("\n");
253 254
254 if (mode1 == 0) 255 if (mode1 == 0)
255 htmlf("<br/>new file mode %.6o", mode2); 256 htmlf("new file mode %.6o\n", mode2);
256 257
257 if (mode2 == 0) 258 if (mode2 == 0)
258 htmlf("<br/>deleted file mode %.6o", mode1); 259 htmlf("deleted file mode %.6o\n", mode1);
259 260
260 if (!subproject) { 261 if (!subproject) {
261 abbrev1 = xstrdup(find_unique_abbrev(oid1, DEFAULT_ABBREV)); 262 abbrev1 = xstrdup(find_unique_abbrev(oid1, DEFAULT_ABBREV));
262 abbrev2 = xstrdup(find_unique_abbrev(oid2, DEFAULT_ABBREV)); 263 abbrev2 = xstrdup(find_unique_abbrev(oid2, DEFAULT_ABBREV));
263 htmlf("<br/>index %s..%s", abbrev1, abbrev2); 264 htmlf("index %s..%s", abbrev1, abbrev2);
264 free(abbrev1); 265 free(abbrev1);
265 free(abbrev2); 266 free(abbrev2);
266 if (mode1 != 0 && mode2 != 0) { 267 if (mode1 != 0 && mode2 != 0) {
@@ -268,28 +269,31 @@ static void header(const struct object_id *oid1, char *path1, int mode1,
268 if (mode2 != mode1) 269 if (mode2 != mode1)
269 htmlf("..%.6o", mode2); 270 htmlf("..%.6o", mode2);
270 } 271 }
272 html("\n");
271 if (is_null_oid(oid1)) { 273 if (is_null_oid(oid1)) {
272 path1 = "dev/null"; 274 path1 = "dev/null";
273 html("<br/>--- /"); 275 html("--- /");
274 } else 276 } else
275 html("<br/>--- a/"); 277 html("--- a/");
276 if (mode1 != 0) 278 if (mode1 != 0)
277 cgit_tree_link(path1, NULL, NULL, ctx.qry.head, 279 cgit_tree_link(path1, NULL, NULL, ctx.qry.head,
278 oid_to_hex(old_rev_oid), path1); 280 oid_to_hex(old_rev_oid), path1);
279 else 281 else
280 html_txt(path1); 282 html_txt(path1);
283 html("\n");
281 if (is_null_oid(oid2)) { 284 if (is_null_oid(oid2)) {
282 path2 = "dev/null"; 285 path2 = "dev/null";
283 html("<br/>+++ /"); 286 html("+++ /");
284 } else 287 } else
285 html("<br/>+++ b/"); 288 html("+++ b/");
286 if (mode2 != 0) 289 if (mode2 != 0)
287 cgit_tree_link(path2, NULL, NULL, ctx.qry.head, 290 cgit_tree_link(path2, NULL, NULL, ctx.qry.head,
288 oid_to_hex(new_rev_oid), path2); 291 oid_to_hex(new_rev_oid), path2);
289 else 292 else
290 html_txt(path2); 293 html_txt(path2);
294 html("\n");
291 } 295 }
292 html("</div>"); 296 html("</span>");
293} 297}
294 298
295static void filepair_cb(struct diff_filepair *pair) 299static void filepair_cb(struct diff_filepair *pair)
@@ -488,12 +492,12 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,
488 html("<table summary='ssdiff' class='ssdiff'>"); 492 html("<table summary='ssdiff' class='ssdiff'>");
489 } else { 493 } else {
490 html("<table summary='diff' class='diff'>"); 494 html("<table summary='diff' class='diff'>");
491 html("<tr><td>"); 495 html("<tr><td><pre>");
492 } 496 }
493 cgit_diff_tree(old_rev_oid, new_rev_oid, filepair_cb, prefix, 497 cgit_diff_tree(old_rev_oid, new_rev_oid, filepair_cb, prefix,
494 ctx.qry.ignorews); 498 ctx.qry.ignorews);
495 if (!use_ssdiff) 499 if (!use_ssdiff)
496 html("</td></tr>"); 500 html("</pre></td></tr>");
497 html("</table>"); 501 html("</table>");
498 502
499 if (show_ctrls) 503 if (show_ctrls)