SVN 커밋 로그를 바꾸는 방법
·
【🧰 SW Info & Tips】/SVN
* 출처: http://superkkt.com/396 원래 SVN 커밋 로그는 한번 기록되면 바꿀수가 없다. 하지만 아래와 같은 방법을 사용해서 변경이 가능하다. 우선 SVN 서버에서 로그 변경을 허용하려는 레포지토리의 hooks 디렉토리로 이동해서 pre-revprop-change라는 파일을 만들어준다. 기본적으로 이 파일은 존재하지 않고, pre-revprop-change.tmpl이라는 템플릿 파일이 있는데, 이것을 복사해서 사용하면 된다. 만약 템플릿 파일도 없다면 아래와 같이 만들어주면 된다. #!/bin/sh REPOS="$1" REV="$2" USER="$3" PROPNAME="$4" ACTION="$5" if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]..
SVN 커밋 메시지가 없는 경우 커밋을 거부하는 방법
·
【🧰 SW Info & Tips】/SVN
* 출처: http://superkkt.com/397 SVN에서 커밋 메시지가 없는 경우 커밋을 거부하는 방법이다. 이것도 SVN hook 스크립트를 사용해서 구현하는데, 커밋 메시지 외에도 사용자 정보 등을 사용해서 다양한 제한을 가할 수 있다. 우선 SVN 서버에서 이 기능을 적용할 레포지토리의 hook 디렉토리에 pre-commit 스크립트 파일을 만든다. 기본적으로 이 파일은 존재하지 않고, pre-commit.tmpl이라는 템플릿 파일이 있으니 이것을 복사해서 사용해도 된다. 그리고 커밋 메시지가 비어있거나, 공백만 있는 경우, 또는 메세지에 티켓번호를 나타내는 "see #티켓번호" 지정자가 없는 경우 커밋을 거부하려면 아래와 같이 pre-commit 파일을 만들어준다. 스크립트 언어는 쉘스크립..
SVN 커밋 메시지가 자동으로 TRAC의 티켓에 등록되도록 만드는 방법
·
【🧰 SW Info & Tips】/SVN
* 출처: http://superkkt.com/398 SVN 커밋 메시지에 특정 명령어를 넣어주면 해당되는 TRAC의 티켓에 댓글로 등록되도록 할 수 있다. 역시 SVN hook 스크립트를 사용한다. 커밋 메시지에 사용할 수 있는 명령어는 티켓을 닫을 수 있는 close, 커밋 메시지를 티켓에 등록하는 refs 등이 있다. 자세한건 스크립트에 있는 주석을 참고하고, 보통 커밋 메시지를 티켓에 등록하는 re, refs, references, see (모두 동일한 기능)를 많이 사용한다. 아래는 사용예이다. # svn commit -m "커밋 메시지입니다. (see #140)" 우선 SVN 서버에서 이 기능을 적용하려는 레포지토리의 hooks 디렉토리에 post-commit 파일을 아래와 같이 만들어준다. ..
SVN 커밋 로그를 자동으로 ChangeLog 파일에 기록
·
【🧰 SW Info & Tips】/SVN
* 출처: http://superkkt.com/406 실제로 사용해보니 별 도움이 안된다. 오히려 문제가 더 많이 생겨서 지금은 사용을 안한다. 팀원들에게 TRAC을 열심히 사용하라고 해놓고, 변경사항이 생길때마다 소스트리에 있는 ChangeLog 파일도 갱신하라고 강요하는건 좀 아닌것 같다. 그래서 커밋이 발생할 때마다 로그 메세지를 자동으로 ChangeLog 파일에 추가하는 SVN hook script를 만들어봤다. 우선 첨부된 add_changelog.py 파일을 SVN 레포지토리의 hooks 디렉토리에 복사하고 실행 권한을 적절하게 부여한다. 그 전에 Subversion Pyhton Binding이 설치되어 있어야 하는데, 우분투라면 python-subversion 패키지를 설치하면 된다. 그리고..