From 572fc9aa5471ce7a9888f03a32d556350f88a5cf Mon Sep 17 00:00:00 2001 From: Sergey Organov Date: Mon, 31 Aug 2020 23:14:22 +0300 Subject: revision: add separate field for "-m" of "diff-index -m" Add separate 'match_missing' field for diff-index to use and set it when we encounter "-m" option. This field won't then be cleared when another meaning of "-m" is reverted (e.g., by "--no-diff-merges"), nor it will be affected by future option(s) that might drive 'ignore_merges' field. Use this new field from diff-lib:do_oneway_diff() instead of reusing 'ignore_merges' field. Signed-off-by: Sergey Organov Signed-off-by: Junio C Hamano --- diff-lib.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'diff-lib.c') diff --git a/diff-lib.c b/diff-lib.c index 50521e2093..5d5d3dafab 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -405,14 +405,8 @@ static void do_oneway_diff(struct unpack_trees_options *o, /* if the entry is not checked out, don't examine work tree */ cached = o->index_only || (idx && ((idx->ce_flags & CE_VALID) || ce_skip_worktree(idx))); - /* - * Backward compatibility wart - "diff-index -m" does - * not mean "do not ignore merges", but "match_missing". - * - * But with the revision flag parsing, that's found in - * "!revs->ignore_merges". - */ - match_missing = !revs->ignore_merges; + + match_missing = revs->match_missing; if (cached && idx && ce_stage(idx)) { struct diff_filepair *pair; -- cgit v1.2.3