Re: [RFC/PATCH v2 2/3] run-command: make sure hooks have always GIT_DIR
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Apr 23, 2014, 21:15 UTC
- Message-ID
- <53582d78e82e6_24448772ecf8@nysa.notmuch>
- In-Reply-To
- <xmqqoazrye6w.fsf@gitster.dls.corp.google.com>
Junio C Hamano wrote:
Show 5 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes: > > > Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> > > 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.Show 7 quoted lines
> 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