From 4a198e4b8ee62a9a8b5156a46bfce46dc7223fe9 Mon Sep 17 00:00:00 2001 From: Ragnar Ouchterlony Date: Wed, 16 Sep 2009 18:56:26 +0200 Subject: Fixed side-by-side diff bugs related to binary diff and more. The fixed bugs: * "Binary files differ" did not show up either in unidiff or side-by-side-diff. * Subproject diffs did not work for side-by-side diffs. * The ssdiff link on diff pages did not conserve the path. Signed-off-by: Ragnar Ouchterlony Signed-off-by: Lars Hjemli --- ui-diff.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'ui-diff.c') diff --git a/ui-diff.c b/ui-diff.c index b21c2c1..a92a768 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -253,11 +253,11 @@ static void print_ssdiff_link() if (!strcmp(ctx.qry.page, "diff")) { if (use_ssdiff) cgit_diff_link("Unidiff", NULL, NULL, ctx.qry.head, - ctx.qry.sha1, ctx.qry.sha2, NULL, 1); + ctx.qry.sha1, ctx.qry.sha2, ctx.qry.path, 1); else cgit_diff_link("Side-by-side diff", NULL, NULL, ctx.qry.head, ctx.qry.sha1, - ctx.qry.sha2, NULL, 1); + ctx.qry.sha2, ctx.qry.path, 1); } } @@ -281,13 +281,19 @@ static void filepair_cb(struct diff_filepair *pair) print_line_fn(fmt("-Subproject %s", sha1_to_hex(pair->one->sha1)), 52); if (S_ISGITLINK(pair->two->mode)) print_line_fn(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); + if (use_ssdiff) + cgit_ssdiff_footer(); return; } if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size, &binary, print_line_fn)) cgit_print_error("Error running diff"); - if (binary) - print_line_fn(" Binary files differ", 20); + if (binary) { + if (use_ssdiff) + html("Binary files differ"); + else + html("Binary files differ"); + } if (use_ssdiff) cgit_ssdiff_footer(); } -- cgit v1.2.3-2-gb3c3