Я работаю над внедрением перехвата git pre-commit в качестве предварительного получения на стороне сервера или перехвата обновления и не могу найти подходящих примеров для достижения этого.
Мне удалось успешно внедрить / протестировать ловушку перед фиксацией
#!/bin/bash
echo "Running pre-commit hook"
checks=($APPSETTING_DEVPASSWORD $APPSETTING_DEVUSER $APPSETTING_DEVPASS_ELMAH) # create an array
git diff --cached --name-status | while read flag file; do
if [ "$flag" == 'D' ]; then continue; fi
for word in ${checks[@]}
do
if egrep -q "$word" "$file"; then
echo "ERROR: Disallowed expression \"${word}\" in file: ${file}" >&2
exit 1
fi
done
done
Я пытаюсь перевести это в ловушку на стороне сервера, где ловушка должна искать массив проверок ивыйдите с 1, если diff содержит значения в массиве проверок.
Информация, найденная в сети
Сервер Bitbucket содержит только базовый репозиторий и не содержит файлов из локального репозитория. Следовательно, необходимо указать diff для commit shaоценивается при нажатии.
Может кто-нибудь, пожалуйста, помогите перевести это на серверный git hook.