# GIT_DIR=. for hooks?

2 messages from 2010-01-06 to 2010-01-06. Participants: Michael J Gruber, Junio C Hamano.
Thread: https://gitlist.dev/t/22104

## Michael J Gruber, 2010-01-06 13:55

Subject: GIT_DIR=. for hooks?
Message-ID: <4B44965F.8040803@drmicha.warpmail.net>
URL: https://gitlist.dev/e/4B44965F.8040803%40drmicha.warpmail.net

```
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, 2010-01-06 17:13

Subject: Re: GIT_DIR=. for hooks?
Message-ID: <7v7hrvyx4s.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v7hrvyx4s.fsf%40alter.siamese.dyndns.org
In-Reply-To: <4B44965F.8040803@drmicha.warpmail.net>

```
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.

```
