Am 13.08.19 um 22:32 schrieb Junio C Hamano: > So perhaps > > + !ce_intent_to_add(a) && !ce_intent_to_add(b) && > > i.e. "a cache entry is eligible to be same with something else only > when its I-T-A bit is unset". FWIW, here's another way to express that: diff --git a/unpack-trees.c b/unpack-trees.c index 62276d4fef..a62d67d131 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -1658,7 +1658,7 @@ static int same(const struct cache_entry *a, const struct cache_entry *b) return 0; if (!a && !b) return 1; - if ((a->ce_flags | b->ce_flags) & CE_CONFLICTED) + if ((a->ce_flags | b->ce_flags) & (CE_CONFLICTED | CE_INTENT_TO_ADD)) return 0; return a->ce_mode == b->ce_mode && oideq(&a->oid, &b->oid);