Назад | Перейти на главную страницу

Есть ли способ упростить эту ловушку перед фиксацией Subversion?

Есть ли способ упростить этот хук перед фиксацией? Мне кажется это многовато

#!/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

if echo $message | grep -q '\(re\|references\|refs\|see\|addresses\|\) #'

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

Для этого вы можете использовать либо вариант gnur, либо файл шаблона:

grep -q --file="matchpatterns.txt" 

который будет содержать каждый шаблон, который вы хотите принять:

refs #
addresses #
ticket #
bug #
...

Мне это нравится больше, потому что такой список имеет тенденцию очень быстро разрастаться, что затрудняет управление встроенным шаблоном.