Я новичок в Linux, а также в Subversion. У меня была задача проверить синтаксис сообщения коммита, содержащего идентификатор продукта. Если его нет, я передаю пользователю сообщение о неверном формате, используя SHELL SCRIPT.
Ниже приведены шаги, которые я выполнил после большого поиска в Google,
Для крючка PRE-COMMIT код:
#!/bin/sh
set -e
/PATH-TO-REPOSITORY/hooks/CommentSyntax.sh "$1" "$2"
Мой сценарий CommentSyntax.sh,
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
regex="PRODUCT-[0-9]*"
if [ `"$SVNLOOK" log -t "$TXN" "$REPOS"` =~ ${regex} ]; then
exit 0
else
echo "" 1>&2
echo "Please make your commit comment start with PRODUCT-XXX" 1>&2
exit 1
fi
Всякий раз, когда я пытаюсь зарегистрировать код, я получаю сообщение об ошибке ниже,
srikanth:~/testing$ svn ci -m "PRODUCT-123"
Sending two.java
Transmitting file data .svn: Commit failed (details follow):
svn: Commit blocked by pre-commit hook (exit code 1) with output:
[: 22: PRODUCT-123: unexpected operator
Please make your commit comment start with PRODUCT-XXX
Я не уверен, где я ошибся. Запросите ваш ценный совет по этому же вопросу.