From 5c21ac0e7c475c82039ab604ee9d7d8430889346 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 22 Apr 2006 03:58:04 -0700 Subject: Libified diff-index: backward compatibility fix. "diff-index -m" does not mean "do not ignore merges", but means "pretend missing files match the index". The previous round tried to address this, but failed because setup_revisions() ate "-m" flag before the caller had a chance to intervene. Signed-off-by: Junio C Hamano --- diff-lib.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'diff-lib.c') diff --git a/diff-lib.c b/diff-lib.c index 63da3b521d..2183b41b03 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -308,12 +308,20 @@ static void mark_merge_entries(void) } } -int run_diff_index(struct rev_info *revs, int cached, int match_missing) +int run_diff_index(struct rev_info *revs, int cached) { int ret; struct object *ent; struct tree *tree; const char *tree_name; + int match_missing = 0; + + /* + * Backward compatibility wart - "diff-index -m" does + * not mean "do not ignore merges", but totally different. + */ + if (!revs->ignore_merges) + match_missing = 1; if (read_cache() < 0) { perror("read_cache"); -- cgit v1.2.3