"Ghanshyam Thakkar" <shyamthakkar001@xxxxxxxxx> writes: >> 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 ;-). >> 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.