Есть ли способ для меня, чтобы упростить этот крюк 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\|\) #'

Должен сделать свое дело.

Другие вопросы по тегам