Re: [GSOC][RFC] Heed core.bare from template config file when no command line override given, as a microproject.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 8, 2024, 17:32 UTC
- Message-ID
- <xmqqo7dvloiu.fsf@gitster.g>
- In-Reply-To
- <CY7M09XT547N.2OOTI5APX9RIX@gmail.com>
"Ghanshyam Thakkar" <shyamthakkar001@gmail.com> writes:
Show 10 quoted lines
>> Specifically, the commit that introduced the comment never wanted to >> honor core.bare in the template. I do not think I has core.bare in >> mind when I wrote the comment, but I would have described it as the >> same category as the repository format version, i.e. something you >> would not want to copy, if I were pressed to clarify back then. > > Then I suppose this warrants updating the TODO comment in > create_default_files(), which currently can be interpreted as this > being a unwanted behavior. And also amending the testcases which > currently display this as knwon breakage.
I obviously agree with that, after saying that I suspect 0f7443bd comes from a misunderstanding ;-).
Show 14 quoted lines
>> If somebody wants to always create a bare repository by having >> core.bare=true in their template and if we wanted to honor it (which >> I am dubious of the value of, by the way), I would think the right >> place to do so would be way before create_default_files() is called. >> When running "git init [$DIR]", long before calling init_db(), we >> decide if we are about to create a bare repository and either create >> $DIR or $DIR/.git. What is in the template, if we really wanted to >> do so, should be read before that happens, no? > > That is what I proposed in my original email, after which I had a > working solution which passed all the tests. That solution was indeed to > check for core.bare in the template before we set GIT_DIR_ENVIRONMENT, > which subsequently creates either $DIR or $DIR/.git as you described > above.
Yeah, if this were still in soon after 4f629539 was written, then such a change might have been a useful feature enhancement, but risk of breaking people (third-party tools) who use the same template to initialize both bare and non-bare repositories is there, so...
Thanks.