У меня настроен gitosis на моем сервере, и я пытаюсь создать ловушку после получения, которая будет проверять изменения в рабочем каталоге на удаленном компьютере.
Изначально я получил сообщение об ошибке cannot open /home/user/source/testing-local/.git/FETCH_HEAD: Permission denied
, поэтому я изменил владельца группы в папке .git рабочего каталога на пользователя git.
После этого я получил ошибку Host key verification failed
, которая заставила меня проверить, какой пользователь запускал хук, конечно, мерзавец (глупый я!), Поэтому я установил ключ в гитозе для пользователя мерзавца, под которым он запускается, и включил это в gitosis.conf. Теперь я получаю старую Permission denied (publickey).
Мой хук после получения выглядит следующим образом:
#!/bin/bash
while read oldrev newrev refname
do
if [ "$refname" == "refs/heads/master" ]; then
WORKDIR=/home/user/source/testing-local
export GIT_DIR=$WORKDIR/.git
pushd $WORKDIR >/dev/null
id
git pull --quiet >/dev/null
fi
done
Вызов id
предназначен только для проверки того, от какого пользователя я работаю.
Есть ли более простой способ добиться этого ?! Я пропустил что-то ключевое в моей настройке?