On 7/6/20 2:39 AM, Junio C Hamano wrote:
SZEDER Gábor <szeder.dev@xxxxxxxxx> writes:
+ * last: xxx/yy-file (because '-' sorts before '/')
+ * this: xxx/yy/abc
This is problematic, because the index can already contain 'xxx/yy' as
a file, when adding 'xxx/yy/abc', but since 'xxx/yy' as a file sorts
before 'xxx/yy-file', the short-circuiting here doesn't see it and
thus leaves the d-f collision undetected. Consequently, even Git
porcelain commands can create tree objects with duplicate entries, as
demonstrated in the tests below.
Yeah, the "optimization" is quite bogus. Thanks for catching it.
yes, thanks!
Jeff