I'm trying to setup a post-receive hook to do a checkout -f when I push to
a public repo (it's a web based tool and I want the executables to be
updated with a push)
unfortunantly if I just add git checkout -f to the post-receive hooks it
checks the files out in the .git directory.
if I do a cd .. ; git checkout -f I get an error message complaining that
it's not in a git repository, but if I manually cd to that directory and
do a checkout it works.
what am I missing here?
David Lang
On Friday 30 May 2008, david@lang.hm wrote:
I'm trying to setup a post-receive hook to do a checkout -f when I push to
a public repo (it's a web based tool and I want the executables to be
updated with a push)
unfortunantly if I just add git checkout -f to the post-receive hooks it
checks the files out in the .git directory.
if I do a cd .. ; git checkout -f I get an error message complaining that
it's not in a git repository, but if I manually cd to that directory and
do a checkout it works.
what am I missing here?
I'm guessing that the post-receive hook is invoked with "GIT_DIR=.", which goes bad the moment you chdir anywhere. I have this in my own update hook script:
if [ "$GIT_DIR" = "." ]; then
GIT_DIR=`pwd`
fi
If you do this before the "cd .. ; git checkout -f", you might have better luck.
Have fun! :)
...Johan
--
Johan Herland, [off-list ref]
www.herland.net
On Fri, 30 May 2008, Johan Herland wrote:
On Friday 30 May 2008, david@lang.hm wrote:
quoted
I'm trying to setup a post-receive hook to do a checkout -f when I push to
a public repo (it's a web based tool and I want the executables to be
updated with a push)
unfortunantly if I just add git checkout -f to the post-receive hooks it
checks the files out in the .git directory.
if I do a cd .. ; git checkout -f I get an error message complaining that
it's not in a git repository, but if I manually cd to that directory and
do a checkout it works.
what am I missing here?
I'm guessing that the post-receive hook is invoked with "GIT_DIR=.", which goes bad the moment you chdir anywhere. I have this in my own update hook script:
if [ "$GIT_DIR" = "." ]; then
GIT_DIR=`pwd`
fi
If you do this before the "cd .. ; git checkout -f", you might have better luck.
thanks, that solved the problem.
David Lang