-rw-r--r-- | ui-diff.c | 21 |
1 files changed, 13 insertions, 8 deletions
@@ -248,4 +248,2 @@ static void header(unsigned char *sha1, char *path1, int mode1, html("</div>"); - if (use_ssdiff) - cgit_ssdiff_header(); } @@ -272,13 +270,15 @@ static void filepair_cb(struct diff_filepair *pair) - header(pair->one->sha1, pair->one->path, pair->one->mode, - pair->two->sha1, pair->two->path, pair->two->mode); if (use_ssdiff) { - cgit_ssdiff_header(); + cgit_ssdiff_header_begin(); print_line_fn = cgit_ssdiff_line_cb; } + header(pair->one->sha1, pair->one->path, pair->one->mode, + pair->two->sha1, pair->two->path, pair->two->mode); + if (use_ssdiff) + cgit_ssdiff_header_end(); if (S_ISGITLINK(pair->one->mode) || S_ISGITLINK(pair->two->mode)) { if (S_ISGITLINK(pair->one->mode)) - print_line(fmt("-Subproject %s", sha1_to_hex(pair->one->sha1)), 52); + print_line_fn(fmt("-Subproject %s", sha1_to_hex(pair->one->sha1)), 52); if (S_ISGITLINK(pair->two->mode)) - print_line(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); + print_line_fn(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); return; @@ -289,3 +289,3 @@ static void filepair_cb(struct diff_filepair *pair) if (binary) - html("Binary files differ"); + print_line_fn(" Binary files differ", 20); if (use_ssdiff) @@ -336,5 +336,10 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi + if (use_ssdiff) { + html("<table summary='ssdiff' class='ssdiff'>"); + } else { html("<table summary='diff' class='diff'>"); html("<tr><td>"); + } cgit_diff_tree(old_rev_sha1, new_rev_sha1, filepair_cb, prefix); + if (!use_ssdiff) html("</td></tr>"); |