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 <john@keeping.me.uk>
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 @@
html("</tr><tr>");
html("<td class='label'>mode:</td>");
html("<td class='ctrl'>");
- html("<select name='ss' onchange='this.form.submit();'>");
- curr = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff;
+ html("<select name='dt' onchange='this.form.submit();'>");
+ curr = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype;
html_intoption(0, "unified", curr);
html_intoption(1, "ssdiff", curr);
html("</select></td></tr>");
@@ -362,6 +362,7 @@
{
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 @@
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();