Всем привет, пытаюсь ввести в собственной фирме php codeSniffer для исключения коммитов говнокода, но есть проблема:
для старых проектов этого делать увы нельзя. Руководство хочет ввести эту штуку в виде комментариев после коммита.
В общем проблема в том как вывести сообщение в хуке post-comment?
#!/bin/bash
REPOS="$1"
TXN="$2"
SVNLOOK="/usr/bin/svnlook"
AWK="/usr/bin/awk"
GREP="/bin/egrep"
SED="/bin/sed"
CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | $GREP "^[U|A]" | $AWK '{print $2}' | $GREP \\.php$`
for FILE in $CHANGED
do
MESSAGE=`$SVNLOOK cat -t "$TXN" "$REPOS" "$FILE" | /usr/bin/phpcs --standard=Zend --encoding=utf8 `
if [ $? -ne 0 ]
then
echo "$MESSAGE\n">&2
fi
done
Непосредственно за вывод отвечает строчка echo "$MESSAGE\n">&2 , в pre-commit она отрабатывает (там еще exit 1 дальше), а в post-commit нет
Пробовал так тоже:
#!/bin/bash
echo "some text">&2
и так
#!/bin/bash
echo "some text">&1
Помогите пожалуйста
Примечание:
ATshaman: спасибо за ответ, но проблема остается
#!/bin/bash
echo "some text">&2
не выполняется. Задача заключается в том, что бы отправить обратно сообщение после коммита
Примечание:
все. нашел решение: post-commit необходимо завершать с ошибкой:
exit 1
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.