On Mon, May 20, 2024 at 11:08:43AM -0700, Junio C Hamano wrote: > Torsten Bögershausen <tboegi@xxxxxx> writes: > > > Thanks so much for the detailed analysis, that is appreciated. > > To be honest, I have set core.precomposeunicode true globally, > > ... > > ... > > I am happy to provide a patch (a new testcase is already there), > > but for a change in the codebase I would need some help from an expert, > > to get the config-reading right both for hash_initialized > > (that is may be not about the hash-algorithn at all ?) > > and precompose. > > It does not sound like an issue with the hash algorithm. > > Why isn't the local config (presumably set with auto-probing when > the repository was initialized) being read? I have the same question, kind of. The callstack provided does give some hints, but I was lost... > Are we reading the core.precomposeunicode in some funny ways? Not what I am aware of. But the order of initialization, when a git command is executed, some need a worktree or .git directory, some not, is somewhat beyond my yet expertise. >Is per-worktree config involved that is trying to read from one but the auto-probing code > is setting it to another, or something silly like that? No, not to my understanding. We have a "local" config (per repo), that is there and has the right value. However, for some reason we miss to read the repo-config here, when argv[] needs to be precomposed. Reading the global config does work, but if core.precomposeunicode is not set here, but set in the repo-config, we miss that. > > Thanks for working well together, both of you. Yes, please let someone join the force, reading the callstack(s) and try to find what is wrong here. I will try to do the same.