From 1830271c5958526425f92ae2b369646b54e3c370 Mon Sep 17 00:00:00 2001 From: John Keeping Date: Sun, 5 Oct 2014 10:59:04 +0100 Subject: Change "ss" diff flag to an enum This will allow us to introduce a new "stat only" diff mode without needing an explosion of mutually incompatible flags. The old "ss" query parameter is still accepted in order to avoid breaking saved links, but we no longer generate any URIs using it; instead the new "dt" (diff type) parameter is used. Signed-off-by: John Keeping --- ui-diff.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ui-diff.c') diff --git a/ui-diff.c b/ui-diff.c index 49bd748..a4ade4d 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -345,8 +345,8 @@ void cgit_print_diff_ctrls() html(""); html("mode:"); html(""); - html(""); + curr = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype; html_intoption(0, "unified", curr); html_intoption(1, "ssdiff", curr); html(""); @@ -362,6 +362,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, { struct commit *commit, *commit2; const unsigned char *old_tree_sha1, *new_tree_sha1; + diff_type difftype; if (!new_rev) new_rev = ctx.qry.head; @@ -420,7 +421,8 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, return; } - use_ssdiff = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff; + difftype = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype; + use_ssdiff = difftype == DIFF_SSDIFF; if (show_ctrls) cgit_print_diff_ctrls(); -- cgit