Git ловушка предварительного приема на стороне сервера - PullRequest
0 голосов
/ 27 ноября 2018

Я работаю над внедрением перехвата 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.

...