вторник, 22 мая 2012 г.

git: post-receive hook

При попытке реализовать хук в гите на post-receive, сначала постоянно будет лезть ошибка
error: git-shell died of signal 13
fatal: The remote end hung up unexpectedly
error: error in sideband demultiplexer

Дело в том, что данный хук сделан каким-то извращенцем, поэтому аргументы хуку передаются через stdin и единственно верный (официально) метод чтения (для sh):

while read oldrev newrev refname
do
...
done

На другие языки переписать по аналогии.

И попутно заметка: если был коммит в мастер, запустить ssh
#!/bin/sh
while read oldrev newrev refname
do
        if expr "$refname" : '.*master$' >/dev/null; then
                ssh user@server.local /var/www/site/up
        fi
done


Комментариев нет:

Отправить комментарий