Re: What is the working directory for post-update hook?
On Sunday 05 February 2006 09:41, Junio C Hamano wrote:
Show 24 quoted lines
> Alan Chandler <alan@chandlerfamily.org.uk> writes:
> > The document root of my website has a git repository under it (in the
> > standard .git subdirectory) and want a post update hook to checkout the
> > contents (so the web server sees it!)
> >
> > I will be pushing to it via ssh.
> >
> > Does this mean that the post-update hook with be run with a working
> > directory of the web site's document root? or something relative (such as
> > GIT_DIR) so that I don't have to do a specific cd to an absolute path.
>
> The current implementation happens to chdir to GIT_DIR and sets
> GIT_DIR=. in the environment, so if you have something like
> this:
>
> /var/www/myproject/
> /var/www/myproject/.git/
> /var/www/myproject/.git/HEAD
> /var/www/myproject/.git/...
> /var/www/myproject/README
>
> Then $(pwd) would be /var/www/myproject/.git/. Your hook would
> probably be able to do "cd .." to get to the project top.
>
I did get it to work doing a cd .. - although you also have to unset GIT_DIR, because its is literally "." and not the directory that was "." at the time of setting, so a cd .. ; checkout -f then fails with an invalid repository.
--
Alan Chandler
http://www.chandlerfamily.org.uk
Open Source. It's the difference between trust and antitrust.