Я пытаюсь написать pre-receive hook
для git, который будет извлекать последнюю версию отправляемого кода и запускать для него модульные тесты. Мой код ниже, но когда доходит до «git checkout $ newrev», я получаю:
удаленный: фатальный: ссылка - это не дерево: 188de39ca68e238bcd7ee9842a79397f39a5849e
Что мне нужно сделать, чтобы проверить отправляемый код до того, как произойдет получение?
#!/bin/bash
while read oldrev newrev refname
do
echo "Preparing to run unit tests for $newrev"
TEST_DIR=/opt/git/sommersault-push-tests/sommersault
# check out this version of the code
unset GIT_DIR
echo $refname
cd $TEST_DIR
git checkout $newrev
...do more stuff...
done
This hook is invoked by git-receive-pack on the remote repository
, что указывает на то, что это происходит после получения нового содержимого. Обратите внимание, однако, что он получает строку ввода для каждой обновляемой ссылки, но пока не уверен в причине ошибки .. - person wadesworld   schedule 21.08.2012