Предварительная фиксация сервера SVN работает, но перехват запуска и фиксации не работает - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть существующий хук pre-commit, работающий нормально, однако, когда я использую хук start-commit, я получаю сообщение «Зафиксировано, заблокировано хуком start-commit (код выхода 255) без вывода.) Start-commit выглядит следующим образом ....


#!/bin/sh
REPOS="$1"
USER="$2"
grep $USER /var/svn/repos/testrepo/hooks/owasp_users.txt
GREP_STATUS=$?
if [ $GREP_STATUS -ne 0 ]
then
    echo  $GREP_STATUS 1>&2
    echo  $REPOS-PATH 1>&2
    echo  $USER 1>&2
    exit 1
fi
exit 0

Рабочая предварительная фиксация выглядит следующим образом ...


#!/bin/sh

REPOS="$1"
TXN="$2"

SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" > /dev/null

GREP_STATUS=$?
if [ $GREP_STATUS -ne 0 ]
then
    echo "Your commit has been blocked because you didn't add a log message." 1>&2
    echo "Please write a log message describing the purpose of your changes and" 1>&2
    echo "then try committing again. -- Thank you" 1>&2
    exit 1
fi
exit 0

Файл имеет разрешения на выполнение и не имеет значениякод в start-commit я получаю ошибку 255. Я могу пройти только с первой строкой #! / bin / sh, но добавить даже простую строку, и ошибка 255.

1 Ответ

0 голосов
/ 11 декабря 2018

Я пропустил преобразование концов строки DOS при редактировании хуков, быстрый dos2unix решил проблему.Это действует очень странно из-за различных способов работы bash и hooks с CRLF, а также из-за того, что вы не можете видеть stdout в эти потраченные впустую часы моего дня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...