Subject: Re: git on MacOSX and files with decomposed utf-8 file names

From: Junio C Hamano <[email-masked]>
Date: Tue, 22 Jan 2008 18:57:22 -0800

[email-masked] (Eric W. Biederman) writes:

> Junio C Hamano <[email-masked]> writes:
>
>> I'd rather see our mental bandwidth spent on coming up with a
>> workable workaround for such broken filesystems, while not
>> hurting use of git on sane platforms.
>>
>> I fear it might have to end up to be very messy and slow,
>> though.
>
> Random thought.  Would it make sense to implement a git paranoid
> mode to autodetect name mangling.
>
> I.e.  After opening or creating a file by name we do a readdir in the
> same directory to make certain we can find that same name/inode
> combination.  Then on name-mangling systems we can autodetect they
> exist and limit ourselves to just what they don't mangle with no
> prior knowledge.  By refusing to process names that actively
> get mangled.   For small directories that you frequently see in
> development it shouldn't even be that slow.

Inside init-db where we already check how the filesystem
behaves, we could have an autodetection. A rough equivalent of
what I had in mind is:

	mkdir -p "Märchen/Märchen"
	if test "$(cd Märchen && echo M*)" = "Märchen"
        then
        	: not mangling
	else
        	git config core.namemangle true
	fi

(of course we do that in C not in shell).