有没有办法让我简化这个Subversion的pre-commit hook?

有没有办法让我简化这个预先提交的钩子? 这对我来说似乎有点多

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

为此,您可以使用gnur的变体或使用模式文件:

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

这将包含您想要接受的每个模式:

 refs # addresses # ticket # bug # ... 

我更喜欢这个,因为这样的列表往往会变得很长,使得内联模式难以pipe理。

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

应该做的伎俩。