|
|
@ -264,7 +264,7 @@ int filediff_cb(void *priv, mmbuffer_t *mb, int nbuf)
|
|
|
|
int cgit_diff_files(const unsigned char *old_sha1,
|
|
|
|
int cgit_diff_files(const unsigned char *old_sha1,
|
|
|
|
const unsigned char *new_sha1, unsigned long *old_size,
|
|
|
|
const unsigned char *new_sha1, unsigned long *old_size,
|
|
|
|
unsigned long *new_size, int *binary, int context,
|
|
|
|
unsigned long *new_size, int *binary, int context,
|
|
|
|
linediff_fn fn)
|
|
|
|
int ignorews, linediff_fn fn)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
mmfile_t file1, file2;
|
|
|
|
mmfile_t file1, file2;
|
|
|
|
xpparam_t diff_params;
|
|
|
|
xpparam_t diff_params;
|
|
|
@ -291,6 +291,8 @@ int cgit_diff_files(const unsigned char *old_sha1,
|
|
|
|
memset(&emit_params, 0, sizeof(emit_params));
|
|
|
|
memset(&emit_params, 0, sizeof(emit_params));
|
|
|
|
memset(&emit_cb, 0, sizeof(emit_cb));
|
|
|
|
memset(&emit_cb, 0, sizeof(emit_cb));
|
|
|
|
diff_params.flags = XDF_NEED_MINIMAL;
|
|
|
|
diff_params.flags = XDF_NEED_MINIMAL;
|
|
|
|
|
|
|
|
if (ignorews)
|
|
|
|
|
|
|
|
diff_params.flags |= XDF_IGNORE_WHITESPACE;
|
|
|
|
emit_params.ctxlen = context > 0 ? context : 3;
|
|
|
|
emit_params.ctxlen = context > 0 ? context : 3;
|
|
|
|
emit_params.flags = XDL_EMIT_FUNCNAMES;
|
|
|
|
emit_params.flags = XDL_EMIT_FUNCNAMES;
|
|
|
|
emit_cb.outf = filediff_cb;
|
|
|
|
emit_cb.outf = filediff_cb;
|
|
|
@ -305,7 +307,7 @@ int cgit_diff_files(const unsigned char *old_sha1,
|
|
|
|
|
|
|
|
|
|
|
|
void cgit_diff_tree(const unsigned char *old_sha1,
|
|
|
|
void cgit_diff_tree(const unsigned char *old_sha1,
|
|
|
|
const unsigned char *new_sha1,
|
|
|
|
const unsigned char *new_sha1,
|
|
|
|
filepair_fn fn, const char *prefix)
|
|
|
|
filepair_fn fn, const char *prefix, int ignorews)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
struct diff_options opt;
|
|
|
|
struct diff_options opt;
|
|
|
|
int ret;
|
|
|
|
int ret;
|
|
|
@ -316,6 +318,8 @@ void cgit_diff_tree(const unsigned char *old_sha1,
|
|
|
|
opt.detect_rename = 1;
|
|
|
|
opt.detect_rename = 1;
|
|
|
|
opt.rename_limit = ctx.cfg.renamelimit;
|
|
|
|
opt.rename_limit = ctx.cfg.renamelimit;
|
|
|
|
DIFF_OPT_SET(&opt, RECURSIVE);
|
|
|
|
DIFF_OPT_SET(&opt, RECURSIVE);
|
|
|
|
|
|
|
|
if (ignorews)
|
|
|
|
|
|
|
|
DIFF_XDL_SET(&opt, IGNORE_WHITESPACE);
|
|
|
|
opt.format_callback = cgit_diff_tree_cb;
|
|
|
|
opt.format_callback = cgit_diff_tree_cb;
|
|
|
|
opt.format_callback_data = fn;
|
|
|
|
opt.format_callback_data = fn;
|
|
|
|
if (prefix) {
|
|
|
|
if (prefix) {
|
|
|
@ -340,7 +344,8 @@ void cgit_diff_commit(struct commit *commit, filepair_fn fn)
|
|
|
|
|
|
|
|
|
|
|
|
if (commit->parents)
|
|
|
|
if (commit->parents)
|
|
|
|
old_sha1 = commit->parents->item->object.sha1;
|
|
|
|
old_sha1 = commit->parents->item->object.sha1;
|
|
|
|
cgit_diff_tree(old_sha1, commit->object.sha1, fn, NULL);
|
|
|
|
cgit_diff_tree(old_sha1, commit->object.sha1, fn, NULL,
|
|
|
|
|
|
|
|
ctx.qry.ignorews);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int cgit_parse_snapshots_mask(const char *str)
|
|
|
|
int cgit_parse_snapshots_mask(const char *str)
|
|
|
|