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에는 미리 정의 되어 있다. 


+ Recent posts