Git Hook не работает в Windows

Я только начинаю работать с хуками и столкнулся с некоторыми проблемами, просто запустив скрипт, когда я делаю коммит с помощью git. Скрипт работает полностью так, как предполагалось, при запуске из терминала bash с параметром

bash pre-commit

команда. Но он вообще не запускается при фиксации с помощью git.

Файл находится по адресу C:/path/to/my/project/.git/hooks/pre-commit, а содержимое файла:

#!/bin/bash

cd ../
cd ../
echo "pre-commit start"
if py -m unittest discover 2>&1 | grep -q "FAILED"; then
  echo "Test(s) FAILED"
  exit 1
fi
echo "pre-commit end"

Я попытался запустить команду chmod в терминале, как было предложено в других сообщениях, без каких-либо изменений.

chmod +x pre-commit

person KRISDAOWNER    schedule 28.10.2018    source источник
comment
#!/bin/bash означает «запустить этот файл с помощью /bin/bash». Если вы используете версию git для Windows, она может этого не понять. Какой клиент git вы используете?   -  person UjinT34    schedule 28.10.2018
comment
Я использую встроенный клиент git из PyCharm.   -  person KRISDAOWNER    schedule 28.10.2018


Ответы (1)


Проблема заключалась в том, что хотя файл находился в папке C:/path/to/my/project/.git/hooks/pre-commit, откуда я его тестировал, файл работал в папке C:/path/to. /мой/проект/ каталог. Таким образом, двойной вызов "cd ../" привел к выходу скрипта из каталога проекта, что, должно быть, вызвало какую-то ошибку.

person KRISDAOWNER    schedule 29.10.2018