#!/bin/sh # # This hook is placed in Bare repository and it updates Working tree whenever a PUSH # is executed # # Assuming following file structure: # . # |-- myproject # |-- myproject.git # set WORKTREE=../myproject # # Where myproject.git - current bare repo and myproject - working directory # To enable this hook, rename this file to "post-receive" and make sure it is executable # WORKTREE=../myproject GITDIR=$WORKTREE.git cd $WORKTREE # update the working tree git --work-tree=./ --git-dir=$GITDIR checkout -f git --work-tree=./ --git-dir=$GITDIR clean -fd # return to git directory cd $GITDIR # we have to read stdin in order to avoid # sideband demutiplexer error # more details here: http://bit.ly/PzbRwo while read oldrev newrev refname do : done