svn post-commit вывод сообщения

программирование Linux svn

Всем привет, пытаюсь ввести в собственной фирме 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
Ответы:
>Непосредственно за вывод отвечает строчка echo "$MESSAGE\n">&2 , в pre-commit она отрабатывает (там еще exit 1 дальше), а в post-commit нет
Не отрабатывает по тому, что не выполняется следующее условие:
 if [ $? -ne 0 ]
А не выполняется оно, по тому, что строка
`$SVNLOOK cat -t "$TXN" "$REPOS" "$FILE" | /usr/bin/phpcs --standard=Zend --encoding=utf8 `
выдает ошибку в первой или во второй части. Попробуйте вывести на экран CHANGED и запустить команду вручную - скорее всего станет понятно, куда копать.
Может CHANGED пустой (Второй grep там лишний, можно обойтись одним - grep ^[U|A].*php$), может svnlook cat бяку выдает, может phpcs на что-то ругается.
Проверяйте поштучно.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.