Я использую Mantis с SVN. В значительной степени, как сказано в этой ссылке, хотя я поместил регулярное выражение в post-commit, чтобы оно не пыталось обновить ошибку, если сообщение о фиксации не актуально, что заставляет коммиты без обновления ошибок реагировать немного быстрее.
Моя установка Mantis также находится на другом сервере. Я использую curl to , вызываю метод php в Mantis 1.1.6.
Поместите это в ловушку post-commit.cmd (вам нужно скачать strawberry 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, есть множество сценариев, включая один, который я написал для codeplex .
Все это работает хорошо, мы используем его все время, и оно достаточно быстрое, чтобы не заметить его там. Просто введите «Fixed Mantis # 1234», и это устранит ошибку и добавит к ней ошибку. Сценарий также добавляет каталоги, которые были изменены, к ошибке (я пытался показать измененные файлы, но слишком много отвлекало от простого понимания)