From: Felipe Contreras Date: Wed, 23 Apr 2014 21:15:36 GMT Subject: Re: [RFC/PATCH v2 2/3] run-command: make sure hooks have always GIT_DIR Message-ID: <53582d78e82e6_24448772ecf8@nysa.notmuch> In-Reply-To: Junio C Hamano wrote: > Felipe Contreras writes: > > > Signed-off-by: Felipe Contreras > > Why is this a good change? When a hook is called from a command without NEED_WORK_TREE, GIT_DIR is not set (e.g. git branch). > How does it prevent existing hook scripts from suddenly start > misbehaving, where they do *not* expect to see an explicit GIT_DIR > pointing at the original repository hook gets run in exported into > their environment? Fine, I'll use "${GIT_DIR-.git}" in my hook tests. > For example, one of my post-receive hooks in a repository I push into records > $cwd (which is the GIT_DIR of receiving repository), chdir's to another > repository and then executes "git pull $cwd" from there, and that relies on > the fact that being at the top-level of that other repository without GIT_DIR > environment pointing at elsewhere but having .git directory in that top-level > repository is sufficient to kick the auto-discovery of the repository that > receives the "pull" in order to work correctly. Let's hope post-receive is never called from a command that has NEED_WORK_TREE then. -- Felipe Contreras