Allow for creating raw diffs with cgit_print_diff()

This adds a parameter to cgit_print_diff() to create raw diffs, using
the same format as `git diff <commit>`.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
这个提交包含在:
Lukas Fleischer
2013-08-14 10:50:32 +02:00
提交者 Jason A. Donenfeld
父节点 747b035dda
当前提交 9003cc172a
修改 4 个文件,包含 12 行新增4 行删除

查看文件

@@ -358,7 +358,7 @@ void cgit_print_diff_ctrls()
}
void cgit_print_diff(const char *new_rev, const char *old_rev,
const char *prefix, int show_ctrls)
const char *prefix, int show_ctrls, int raw)
{
enum object_type type;
unsigned long size;
@@ -398,6 +398,14 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,
}
}
if (raw) {
ctx.page.mimetype = "text/plain";
cgit_print_http_headers(&ctx);
cgit_diff_tree(old_rev_sha1, new_rev_sha1, filepair_cb_raw,
prefix, 0);
return;
}
use_ssdiff = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff;
if (show_ctrls)