I've got a post receive hook setup on the remote repo that tries to determine the branch name of the incoming push as follows:
$branch = `git rev-parse --abbrev-ref HEAD`
What i'm finding, though, is that no matter what branch I push from my $branch variable gets set with 'master'.
Any ideas?
The post-receive hook gets the same data as the pre-receive and not as arguments, but from stdin. The following is sent for all refs:
oldRev (space) newRev (space) refName (Line feed)
You could parse out the ref name with this bash script:
while read oldrev newrev ref
do
echo "$ref"
done
You could also do something like this using bash variable substitution:
read oldrev newrev ref
branchname=${ref#refs/heads/}
git checkout ${branchname}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With