I want to push from my local machine to a staging server via post-receive hook.
I did the following steps:
Remote Machine
mkdir /var/www/mfserver.git
git init --bare
mkdir /var/www/mfserver
sudo chmod -R ug+w /var/www/mfserver/.git
sudo chown -R root:root /var/www/mfserver/.git
git config core.sharedRepository group
Local Machine
git remote add staging user@serverip:/var/www/mfserver.git
When I then do: git push staging master
I get still the error:
Delta compression using up to 8 threads.
Compressing objects: 100% (182/182), done.
Writing objects: 100% (206/206), 55.54 KiB | 0 bytes/s, done.
Total 206 (delta 69), reused 0 (delta 0)
remote: fatal: Unable to create temporary file '/var/www/mfserver.git/./objects/pack/tmp_pack_XXXXXX': Permission denied
error: unpack failed: index-pack abnormal exit
To admin@SERVERIP:/var/www/mfserver.git
! [remote rejected] master -> master (unpacker error)
Hook
#!/bin/bash
while read oldrev newrev ref
do
if [[ $ref =- .*/master$ ]];
then
echo "Master ref received. Deploying master branch to Staging..."
git --work-tree=/var/www/mfserver --git-dir=/var/www/mfserver.git checkout -f
else
echo "Ref $ref successfully received. Doing nothing: only the master branch may be deployed to the server."
fi
done
This is my git hook: post-receive
I don't see why the error is coming up?