SVN Commit시에 귀찮아서, 로그 메세지를 누락하는 경우가 있는데,
이럴 경우 나중에 로그를 뒤져야 할때 난처한 일이 생긴다.
이런일을 프로그래밍 적으로 방지 하기 위해서 Commit 로그를 강제 할 수 있다.
SVN 자체내부적으로 특정 Event 시점에 Hooking하여 Script를 실행할 수 있는 구조로 되어 있기 떄문에, 이를 이용하면 쉽게 할 수 있다.
{svn_repo_root}/ 폴더에 들어 가면 hooks라는 폴더가 있는데, 폴더의 내용은 아래와 같다.
이들은 현재 .tmpl 이 붙어 있는 것들은 현재 실행되는 Script가 아니라, Template정도라면 생각하면 된다.
우리가 할 일은 Commit 전의 Log Checking임으로 pre-commit.tmpl 을 이용하면 된다.
Step 1 . cp pre-commit.tmpl commit.tmpl
Step 2 . Check script file
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" > /dev/null || exit 1
위와 같이 Script를 작성해주면 Commit전에 이 스크립트를 실행하여 Filtering한다.
SnowLeopard에는 미리 정의 되어 있다.