git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: more concerns about '--git-dir'

From
PBPasha Bolokhov <pasha.bolokhov@gmail.com>
Date
May 23, 2014, 23:02 UTC
Message-ID
<CAKpPgvcwVuvOqAE-SvECsCfPHMJr0qBaqz9DCOXQSAZj1903jQ@mail.gmail.com>
In-Reply-To
<xmqq1tvkjo4c.fsf@gitster.dls.corp.google.com>
Show 9 quoted lines
>> You won't notice anything different in the output of course, but the
>> environment will be odd:
>>     GIT_DIR=../tmp/./././.git
>>     GIT_WORK_TREE=$HOME/tmp
>> Notice how the work-tree has been normalized and git-dir hasn't. It's
>> kinda hard to imagine when this can lead to an error, but never know.
>
> I think this one is in the "if it hurts, don't do it then"
> territory.

I just find it inconsistent: one variable is always straightened ("normalized"), while the other one is or is not, depending on circumstances

Show 12 quoted lines
>> 2) "git --git-dir=meta status" complains:
>>
>> $ git --git-dir=meta init
>> $ git --git-dir=meta status
>>
>> yells that work-tree isn't setup and denies to run.
>
> Is that because meta/config does not say where the worktree is?
>
> Again, this smells like "if it hurts, don't do it then", even more
> so than the previous one.  Does it help if you add --git-work-tree
> to the command line, too?

I agree this one is on the edge, so wasn't sure. I don't specify worktree at all, anywhere. And expect Git to guess it to be the current directory. It does so only if GIT_DIR, whatever it is, ends with "/.git". What's the logic? When the reader skims through the "man git-config" page, they'll think that work-tree defaults to "." if no value was provided. But it's only true if "core.bare" is set to false

Previous: Junio C Hamano
Message 3 of 3 in “more concerns about '--git-dir'”
  1. Pasha BolokhovMay 23, 2014
  2. Junio C HamanoMay 23, 2014
  3. Pasha BolokhovMay 23, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.