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

GIT_DIR vs. --git-dir

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Sep 24, 2012, 07:19 UTC
Message-ID
<5060097F.9050203@drmicha.warpmail.net>

[mjg@localhost ~]$ GIT_DIR=~/.githome git rev-parse --show-toplevel /home/mjg

[mjg@localhost ~]$ git --git-dir=~/.githome rev-parse --show-toplevel fatal: Not a git repository: '~/.githome'

Huh? Ok, so most users probably would not try further and blame git, but:

[mjg@localhost ~]$ git --git-dir=/home/mjg/.githome rev-parse --show-toplevel /home/mjg

(All this is with core.worktree set to /home/mjg.)

So, while I do understand that we don't expand '~' in any of these cases and it's only a matter of bash tilde expansion kicking in or not, we might want to do something about it. (--git-dir=$HOME/.githome gets expanded, as well, and --git-dir=.githome works from the appropriate cwd only).

Michael
Next: Nguyen Thai Ngoc Duy
Message 1 of 17 in “GIT_DIR vs. --git-dir”
  1. Michael J GruberSep 24, 2012
  2. Nguyen Thai Ngoc DuySep 24, 2012
  3. Michael J GruberSep 24, 2012
  4. Nguyen Thai Ngoc DuySep 24, 2012
  5. Michael J GruberSep 24, 2012
  6. git: expand user path in --git-dirMichael J Gruber, Sep 24, 2012
  7. Jeff KingSep 24, 2012
  8. Michael J GruberSep 24, 2012
  9. Junio C HamanoSep 24, 2012
  10. Jan EngelhardtSep 25, 2012
  11. Michael J GruberSep 25, 2012
  12. Andreas SchwabSep 24, 2012
  13. Junio C HamanoSep 24, 2012
  14. Michael J GruberSep 24, 2012
  15. Jeff KingSep 24, 2012
  16. Michael J GruberSep 24, 2012
  17. Andreas SchwabSep 24, 2012

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.