On Tue, Aug 13, 2019 at 1:33 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > The original code considered that two entries with the same mode and > the same "contents" are the same. As nobody sane tracks an empty > file for an extended span of history, that meant that most of the > time, intent-to-add entries, which has the normal mode bits for the > blobs (with or without the executable bit) and object name for a > zero length blob, would have been judged "different". > I agree, this edge case is really arcane. The rabbit hole was deep :) > 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". > I decided to follow René's suggestion in response to this. Patch coming soon. Varun