From: Aaron Schrab Date: Sat, 08 Nov 2025 18:20:50 GMT Subject: Re: [PATCH v4 4/4] submodule: fix case-folding gitdir filesystem colisions Message-ID: <20251108T182050Z.vbNv4y2kizC1@fnord.qqx.org> In-Reply-To: <20251107150547.3272180-5-adrian.ratiu@collabora.com> At 17:05 +0200 07 Nov 2025, Adrian Ratiu wrote: >Add a new check in validate_submodule_git_dir() to detect and >prevent case-folding filesystem colisions. When this new check >is triggered, a stricter casefolding aware URI encoding is used >to percent-encode uppercase characters, e.g. Foo becomes %46oo. > >By using this check/retry mechanism the uppercase encoding is >only applied when necessary, so case-sensitive filesystems are >not affected. What happens if `Foo` is added first and doesn't conflict with anything, then later a new submodule is added which would naturally get the name `foo` which would conflict and doesn't have any upper case characters to encode to avoid the conflict?