Subject: Re: [PATCH/RFC] core.precomposeunicode is true by default

From: Junio C Hamano <[email-masked]>
Date: Tue, 27 Aug 2013 07:49:02 -0700

Torsten Bögershausen <[email-masked]> writes:

>>... see if that path can be seen under its alias.  Why do we set it
>>to "false"?  Isn't this the true culprit?
>>
>>After all, this is not in the "reinit" codepath, so we know we are
>>dealing with a repository that was created afresh.
>
> There is nothing wrong with the auto-sensing as such.
> The problem for many users today is that we set core.precomposeunicode
> to false, when it should be true.

I think we are in agreement then.

The code detects a broken filesystem just fine, but what it does
when it finds the filesystem is broken is wrong---it sets the
variable to false.  That makes the whole auto-sensing wrong, and I
think it makes sense to correct that behaviour.

> Let's look what precomposed_unicode does and go through a couple
> of git operations.
>
> 1)
> When we create a repo under Mac OS using HFS+,
> we want to have precomposed_unicode = 1

Yes.

> 2)
> When we access a repo from Windows/Linux using SAMBA,

You mean s/repo/repository that resides on HFS+/?

> readdir() will return decomposed.
> When the repo is created by nonMacOS, core.precomposeunicode is undefined.
> The precomposition is off, but should be on, 
> precomposed_unicode = -1, but should be = 1

I do not think UTF-8-MAC is widely available; even if you flip the
bit on, would it help much?