about summary refs log tree commit diff stats
path: root/ui-diff.c
diff options
context:
space:
mode:
authorJohn Keeping2014-10-05 10:59:04 +0100
committerLukas Fleischer2014-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.gz
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()
345 html("</tr><tr>"); 345 html("</tr><tr>");
346 html("<td class='label'>mode:</td>"); 346 html("<td class='label'>mode:</td>");
347 html("<td class='ctrl'>"); 347 html("<td class='ctrl'>");
348 html("<select name='ss' onchange='this.form.submit();'>"); 348 html("<select name='dt' onchange='this.form.submit();'>");
349 curr = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff; 349 curr = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype;
350 html_intoption(0, "unified", curr); 350 html_intoption(0, "unified", curr);
351 html_intoption(1, "ssdiff", curr); 351 html_intoption(1, "ssdiff", curr);
352 html("</select></td></tr>"); 352 html("</select></td></tr>");
@@ -362,6 +362,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,
362{ 362{
363 struct commit *commit, *commit2; 363 struct commit *commit, *commit2;
364 const unsigned char *old_tree_sha1, *new_tree_sha1; 364 const unsigned char *old_tree_sha1, *new_tree_sha1;
365 diff_type difftype;
365 366
366 if (!new_rev) 367 if (!new_rev)
367 new_rev = ctx.qry.head; 368 new_rev = ctx.qry.head;
@@ -420,7 +421,8 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,
420 return; 421 return;
421 } 422 }
422 423
423 use_ssdiff = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff; 424 difftype = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype;
425 use_ssdiff = difftype == DIFF_SSDIFF;
424 426
425 if (show_ctrls) 427 if (show_ctrls)
426 cgit_print_diff_ctrls(); 428 cgit_print_diff_ctrls();