X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/1830271c5958526425f92ae2b369646b54e3c370..936295c4e4de8da83701c67377a911a0aefbcbd6:/ui-diff.c diff --git a/ui-diff.c b/ui-diff.c index a4ade4d..5b6df1f 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -349,6 +349,7 @@ void cgit_print_diff_ctrls() curr = ctx.qry.has_difftype ? ctx.qry.difftype : ctx.cfg.difftype; html_intoption(0, "unified", curr); html_intoption(1, "ssdiff", curr); + html_intoption(2, "stat only", curr); html(""); html(""); html(""); @@ -427,8 +428,21 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, if (show_ctrls) cgit_print_diff_ctrls(); + /* + * Clicking on a link to a file in the diff stat should show a diff + * of the file, showing the diff stat limited to a single file is + * pretty useless. All links from this point on will be to + * individual files, so we simply reset the difftype in the query + * here to avoid propagating DIFF_STATONLY to the individual files. + */ + if (difftype == DIFF_STATONLY) + ctx.qry.difftype = ctx.cfg.difftype; + cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix); + if (difftype == DIFF_STATONLY) + return; + if (use_ssdiff) { html(""); } else {