Есть ли способ для меня, чтобы упростить этот крюк pre-commit?
Есть ли способ для меня, чтобы упростить этот крюк предварительной фиксации? Мне кажется, это немного
#!/bin/sh
message=`$SVNLOOK log -t "$TXN" "$REPOS"`
# Block any commits which don't reference a ticket
if echo $message | grep -q "re #"
then
:
elif echo $message | grep -q "references #"
then
:
elif echo $message | grep -q "refs #"
then
:
elif echo $message | grep -q "see #"
then
:
elif echo $message | grep -q "addresses #"
then
:
else
echo "Your commit must reference a ticket to be accepted. For example, re #1234"
fi
2 ответа
Решение
Для этого вы можете использовать либо вариант gnur, либо файл шаблона:
grep -q --file="matchpatterns.txt"
который будет содержать каждый шаблон, который вы хотите принять:
refs #
addresses #
ticket #
bug #
...
Мне это нравится больше, потому что такого рода список имеет тенденцию становиться длинным и очень быстрым, что затрудняет управление встроенным шаблоном.
if echo $message | grep -q '\(re\|references\|refs\|see\|addresses\|\) #'
Должен сделать свое дело.