aboutsummaryrefslogtreecommitdiffstats
path: root/ui-diff.c
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2014-10-05 10:59:04 +0100
committerLukas Fleischer <cgit@cryptocrack.de>2014-12-13 12:38:42 +0100
commit1830271c5958526425f92ae2b369646b54e3c370 (patch)
tree545cca72fa7f672fe0a728f25a545dce10961d1d /ui-diff.c
parentui-shared: remove toggle_ssdiff arg to cgit_diff_link() (diff)
downloadcgit-1830271c5958526425f92ae2b369646b54e3c370.tar.xz
cgit-1830271c5958526425f92ae2b369646b54e3c370.zip
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>
Diffstat (limited to 'ui-diff.c')
-rw-r--r--ui-diff.c8
1 files changed, 5 insertions, 3 deletions
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("</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 @@ 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();