문제

나는 주로 Windows 개발을합니다. 우리는 사용 사마귀 그리고 파괴 우리의 개발을 위해서는 함께 통합되지 않았으며 실제로 다른 서버에 있습니다.

나는 두 사람을 함께 통합하는 것에 대해 약간의 인터넷 검색을했고 이 게시물. 흥미로워 보였다.

나는 누군가가 이것을하고 있는지 아니면 이것을했는지, 그리고 당신의 경험이 무엇인지 궁금합니다. 당신이 다른 해결책을 가지고 있다면, 나는 그것을 알고 싶을 것입니다!

감사!

도움이 되었습니까?

해결책

우리는 SCMBUG를 꽤 오랫동안 사용하여 SVN을 Bugzilla에 연결했습니다. 최근 Bugzilla 3.2로 업그레이드 할 때까지 매우 잘 작동하여 통합이 깨졌습니다. SCMBUG 팀이 SCM 도구의 새로운 릴리스가 나오면 따라 잡는 데 약간의 시간이 걸립니다. 이는 이해할 수 있습니다.

다른 팁

나는 SVN과 함께 Mantis를 사용합니다. 그 링크가 말한 것처럼, regexp를 regexp에 넣었지만 커밋 메시지가 관련이 없다면 버그를 업데이트하려고하지 않으므로 버그 업 업데이트가 약간 더 빨리 반응합니다.

내 Mantis 설치도 다른 서버에 있습니다. 나는 사용한다 곱슬 곱슬하다 에게 PHP에 전화하십시오 Mantis의 방법 1.1.6.

이것을 post-commit.cmd hook에 넣으십시오 (다운로드해야합니다. 딸기 perl 그리고 perl.exe와 perl510.dll을 잡으십시오. 나머지는 필요하지 않습니다)

c:\tools\perl c:\tools\mantis_urlencode.pl %1 %2  > c:\temp\postcommit_mantis.txt
if %ERRORLEVEL% NEQ 0 exit /b 0

c:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://swi-sgi-l-web1.ingrnet.com/mantis/core/checkincurl.php

이것을 mantis_urlencode.pl에 넣으십시오

$url = `svnlook log -r $ARGV[1] $ARGV[0]`;

# check the string contains the matching regexp, 
# quit if it doesn't so we don't waste time contacting the webserver
# this is the g_source_control_regexp value in mantis.

exit 1 if not $url =~ /\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i;

$url = $url . "\n" . `svnlook dirs-changed -r $ARGV[1] $ARGV[0]`;

#urlencode the string
$url =~ s/([^\w\-\.\@])/$1 eq " "?"+":  sprintf("%%%2.2x",ord($1))/eg;

print "log=$url";

exit 0;

VSS에서 마이그레이션하려면 내가 쓴 스크립트를 포함하여 많은 스크립트가 있습니다. 코드 플렉스.

그것은 모두 잘 작동하고, 우리는 항상 그것을 사용하며, 그곳을 알아 차리지 못할 정도로 빠릅니다. "고정 Mantis #1234"를 입력하면 버그를 해결하고 버그 노트를 추가합니다. 스크립트는 또한 버그 노트에 수정 된 디렉토리를 추가합니다 (변경된 파일을 보여 주려고했지만 너무 많은 사람들이 쉽게 이해하지 못합니다)

여기에 있습니다 커뮤니케이션 포스트 커밋 스크립트 우리는 사용. PHP를 사용하여 Mantis Checkin PHP 스크립트를 실행합니다. 이 링크 원래 게시물에서.

나는 만났다 scmbug. Mantis와 같은 것들을 전복과 같은 것들에 연결하는 것처럼 보입니다.

우리는 당신의 링크의 단계를 따랐습니다. 유일한 차이점은 Windows에 당신이 대신 commit.bat을 가지고 있다는 것입니다. 누군가를 스크롤하면 누군가가 샘플을 게시합니다. 파일이 변경되었고 누가 변경 한 사람을 로그인하여 배치 파일에 대한 상당히 쉬운 해킹을 수정했습니다. 우리는 한 시점에서 Diff를 포함 시키려고 시도했지만 일부 Checkins의 크기 때문에 그렇게하는 것이 나쁜 생각이라는 것은 분명했습니다.

정말 잘 작동하고 정말 행복합니다. 이제 모든 소스를 옮겨야합니다.

저는 VisualSVN 서버와 공개 Mantis Bug Tracker를 사용하여 내 지역 개발 환경에서 개인 SVN 저장소를 개인적으로 사용하고 있습니다. 웹 서버에서 통화를 처리하기 위해 Checkin.php 파일을 약간 변경해야했습니다 (이 웹 페이지의 도움으로 : http://www.mantisbt.org/bugs/view.php?id=8847)

배치 파일 대신 이것을 처리하기 위해 짧은 C# 콘솔 애플리케이션을 만들었으므로 더 구성 가능하며 원격 또는 로컬 checkin.php 파일을 지원합니다.

관심있는 경우 소스 코드와 함께이 블로그에 이것에 대한 기사를 게시했습니다. http://mp4m.org/blog/svn-and-mantis-bug-tracker-integration/

도움이되기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top