출처 : http://magenta.egloos.com/1454578

Subversion(SVN)과 Mantis의 연동

1. 연동하려는 SVN 저장소에 속성 설정합니다.
bugtraq:label = issue
bugtraq:url = http://localhost/mantis/view.php?id=%BUGID%
bugtraq:message = issue %BUGID%
bugtraq:warnifnoissue = true

2. SVN 저장소의 hooks디렉토리에 다음에 나오는 배치 명령이 들어있는 post commit hook 파일 생성(C:\Repository\hooks\post-commit.bat). SVN이 commit되는 동안에 Mantis에 이슈노트로 추가될 내용들을 넣습니다.
REM Post-commit hook for MantisBT integration
SET REPOS=%1
SET REV=%2
SET DETAILS_FILE=C:\Repository\GNIS4M\svnfile_%REV%
SET LOG_FILE=C:\Repository\GNIS4M\svnfile_%REV%_Log

echo ****** Source code change ******>>%DETAILS_FILE%
svnlook info -r %REV% %REPOS%>>%DETAILS_FILE%
echo SVN Revision:%REV%>>%DETAILS_FILE%
svnlook diff -r %REV% %REPOS%>>%DETAILS_FILE%

C:\APM_Setup\Server\PHP4\php.exe C:\APM_Setup\htdocs\mantis\core\checkin.php <%DETAILS_FILE% >%LOG_FILE%
DEL %DETAILS_FILE%
DEL %LOG_FILE%

3. 다음 내용을 Mantis config_inc.php에 추가합니다.
#Integration to SVN
$g_source_control_notes_view_status = VS_PRIVATE;
$g_source_control_account = 'Administrator';
$g_source_control_set_status_to = OFF;
$g_source_control_regexp = "/\bissue [#]{0,1}(\d+)\b/i";

추가로 연동할 SVN저장소에는 1,2만 반복하면 됩니다.

해보니까 연동은 잘되는데 한글이 깨지는 문제가 생깁니다.

Windows의 Command Prompt는 기본적으로 시스템의 locale을 따르는데..

그게 euc-kr입니다...

문제는 연동배치파일에서 svnlook을 쓰는데 이 프로그램은 Command Prompt의 Locale에 맞춰서 문자열을 출력한다는거..

우리의 Mantis는 UTF-8을 써서 한글을 표현하기 때문에...euc-kr로 된 SVN 정보들은 다 깨집니다.
(물론 euc-kr로 할수도 있지만...그러면 Mantis가 자꾸 워닝을 뿌리기때문에...)

해결책으로 Mantis의 Core디렉토리에 있는 checkin.php를 직접 수정합니다..

42번째 줄의...

while ( ( $t_line = fgets( STDIN, 1024 ) ) ) {

...를

while ( ( $t_line_euc = fgets( STDIN, 1024 ) ) ) {
        $t_line = ( iconv("EUC-KR","UTF-8",$t_line_euc)?iconv("EUC-KR","UTF-8",$t_line_euc):$t_line_euc );

...로 바꾸니까 해결되는군요..

윈도우2003서버에서 Mantis 1.0.6과 svn 1.4.0으로 작업했습니다.

'자료 > Article' 카테고리의 다른 글

/ENTRY(진입점 기호)  (2) 2007.03.01
Compiler Support for Type Traits  (0) 2007.02.13
라그나로크2 클라이언트 분석  (2) 2006.12.31
[펌] 디스크 캐쉬 제대로 알기  (2) 2006.12.29
[펌] Resource Management Best Practices  (0) 2006.11.02

+ Recent posts