Re: bug: 'core.logallrefupdates' is not set by default in non-bare repository
From: Jeff King <hidden>
Date: 2016-08-31 10:48:37
On Wed, Aug 31, 2016 at 11:12:26AM +0200, Dennis Kaarsemaker wrote:
That is indeed a bug. git reads the config of t1 and then thinks a template config has set that value, so it won't override it.
This is a regression in v2.9.0 due to my ae5f677 (lazily load core.sharedrepository, 2016-03-11).
This is caused by git init reading the config via get_shared_repository. The comment above it indicates that this may not be needed, and indeed not doing it makes this bug go away.
Hrm. I'm not sure if that will work, though, because we may call get_shared_repository() from other code-paths (e.g., anything that calls adjust_shared_perm(), like safe_create_leading_directories). We may need to do something like turn off the need_shared_repository_from_config in init-db, since I think it would not want to ever read from the default config sources in most of its code-paths (OTOH, it should in theory respect core.sharedRepository in ~/.gitconfig, so maybe there is another more elegant way of handling this). I'm out of time for the day, so it will be a while before I can dig further. Please feel free to figure it out while I am sleeping. :) -Peff