SVN(1.6.16)과 Trac(0.12.2)에서 커밋 시에 티켓과 연동 코드
회사에서 사용하는 SVN과 Trac의 버전을 신 버전으로 올리면서 새로 구축을 했다.

이전에 다른 사람이 하던 구축을 직접하느라 삽질을 좀 하기는 했지만.. ㅎㅎ

여튼 자료를 찾아보다가 SVN의 커밋 시에 Trac의 티켓을 연동하는 Hook 스크립트라는게 있길래

적용해보려는데.. 이전 0.11 버전에서만 동작되는지 제대로 적용이 되지 않아서..

직접 새 버전에서 동작되도록 수정해버렸다.

일단 이전 스크립트가 0.12에서 제대로 동작되지 않는 것이 Trac 0.12에서는 저장소를 여러개 설정할 수 있는 부분

때문인거 같아서 파라미터로 받은 인자 값으로 직접 svn 저장소 경로를 탐색하도록 파이선 코드를 수정했다.

그거 때문에 cmd 파일도 약간 수정이 되었고..

일단 첨부된 파일 중 cmd 파일은 svn 저장소의 hooks 경로에 복사하고 (cmd 니까 일단은 윈도우 환경에서 동작)

py 파일은 아무 경로나 복사..

pre-commit.cmd, post-commit.cmd, post-revprop-change.cmd 파일에서 실행 경로를 설정한다.

SET PROJECT=<SandBox>

SET SVN_DIR=<SubVersion>bin
SET PYTHON=<Python>\PYTHON.EXE
SET TRAC_ENV=<Trac_Repositories>\%PROJECT%
SET TRAC_ADMIN=<trac-admin.exe>

SET TOOLS_DIR=<ScriptTools>

설정된 연동 기능은 

1. svn 커밋 시에 커밋 로그에 오픈 상태의 티켓 번호 설정
2. svn 커밋 이후에 해당 티켓에 코멘트 등록
3. close 커맨드가 있을 경우 티켓 자동 close 동작

티켓과 연동은 그냥 위 기능 뿐이고..

revprop 관련 파일은 그냥 로그 메시지 수정을 할 경우에 사용하려고 설정해두었다.

커밋 로그에 아래 처럼 적고 커밋한다.

close #1  테스트 테스트

커밋이 완료되면 티켓에는 아래처럼 코멘트가 추가된다.


  (In SandBox:changeset:1)

   close #1 테스트 테스트


여러 프로젝트에서 사용가능하도록 수정한거고 회사 서버에서는 잘 되기는 한다.

파이썬도 처음 써봤는데 몇일 검색하고 하느라 토끼눈이 되버렸네.. ㅋㅋ


by cynardor | 2011/05/20 14:17 | 저장 | 트랙백 | 덧글(2)
트랙백 주소 : http://cynardor.egloos.com/tb/4577043
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 뇨릉 at 2011/05/20 15:38
익숙한 사진을 보고 왔어요. (신발사진..ㅋ)
trac서버가 이제 형한테까지 갔군요..
정말 trac은 뭐 하나 하려면 정말 삽질의 연속인듯...그쵸?!ㅎ
Commented by cynardor at 2011/05/20 19:18
ㅎㅎ 파이썬 최신 버전으로 적용할려고 하다하다 플러그인들 제대로 안 올라와서 결국은 2.5로 그냥 설정.. ㅋㅋ
이제 빌드 서버 구성해야 되는데~~ 그건 천천히 하려고 생각 중..

한번 이럴때마다 MS의 문서나 설치 환경이 떠오른다는..

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >