From: Junio C Hamano Date: Mon, 06 Jul 2020 06:39:55 GMT Subject: Re: [PATCH v12 5/5] read-cache: speed up has_dir_name (part 2) Message-ID: In-Reply-To: <20200704172708.GC11341@szeder.dev> SZEDER Gábor 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.