threads / discuss / 22104

GIT_DIR=. for hooks?

Subject: GIT_DIR=. for hooks?

## tl;dr

2 messages between Jan 6, 2010 and Jan 6, 2010.

replies: 1people: 2as markdown or json

Michael J Gruber· Jan 6, 2010, 13:55 UTC · lore
Hi there,

as it seems hooks (at least post-receive) are called with a $PWD in the .git dir and GIT_DIR=. exported.

Now, that leads to problems when, say, diffing between the index and the worktree ("Don't do that!", I know). Without cd'ing around, the worktree is not found, and after "cd ..", the git-dir is not found.

I can unset GIT_DIR or set WORK_TREE, of course, but I'm wondering whether GIT_DIR=. is a sane setting at all: a git-dir in $PWD is always found, and when cd'ing away that setting does not help either.

Michael
Junio C Hamano· Jan 6, 2010, 17:13 UTC · re: Michael J Gruber · lore

Re: GIT_DIR=. for hooks?

Michael J Gruber <git@drmicha.warpmail.net> writes:
> I can unset GIT_DIR or set WORK_TREE, of course,

That is not just an acceptable but _the_ right way to write hooks that touch the files in the work tree. In earlier versions of git, a git-dir in $PWD was not found without GIT_DIR=. and hooks are supposed to work across versions of git, so this behaviour got stuck.

← back to recent threads