2008-09-24 3 views
7

I do в основном Windows разработка. Мы используем Mantis и Subversion для нашей разработки, но они не объединены вместе, фактически они находятся на разных серверах.Вы интегрировали Mantis и Subversion?

Я немного поработал над объединением двух и наткнулся на this post. Это выглядело интересно.

Мне было интересно, если кто-то это делает или сделал это, и каков ваш опыт. Если у вас есть другое решение, мне было бы интересно узнать это!

Спасибо!

+0

Интересно, работает ли это, когда у вас нет прямого доступа к репозиторию svn ... все еще ищут похожие вопросы/ответы. – icedwater 2013-06-28 02:50:00

+1

Да, это отлично поработало для нас (вот почему я написал сообщение). Эта компания использовала это решение в течение нескольких лет (и все еще может использовать его для всех, кого я знаю). Ключом для меня было изучение крючков подрывной деятельности, которые могут быть реализованы на любом языке. – alttag 2013-08-22 15:46:31

ответ

3

Мы использовали scmbug в течение некоторого времени, чтобы связать SVN с Bugzilla. Работала очень хорошо, пока мы не обновились до Bugzilla 3.2 в последнее время, что нарушило интеграцию. Для команды scmbug требуется некоторое время, чтобы догнать, когда появятся новые выпуски инструментов SCM, что понятно.

1

Я столкнулся с scmbug. Похоже, он подключит такие вещи, как Mantis, к таким вещам, как Subversion.

0

Мы выполнили шаги, указанные в вашей ссылке - единственное различие заключается в том, что вместо Windows у вас есть post-commit.bat. Если вы прокрутите страницу вниз, кто-то отправит образец. Мы изменили это так, чтобы он регистрировал измененные файлы и кто их изменил - довольно легкий взлом для командного файла. Мы попытались включить diff в какой-то момент, но это было очевидно довольно быстро, потому что это плохая идея из-за размера некоторых проверок.

Это работает очень хорошо, и я очень рад, - теперь я должен переместить все наши Sourcesafe вещи через ...

5

Я использую Mantis с SVN. В значительной степени, как говорит эта ссылка, хотя я поместил regexp в пост-фиксацию, поэтому он не пытается обновить ошибку, если сообщение фиксации не имеет значения, что делает транзакции с обновлением без ошибок немного быстрее.

Установка My Mantis также находится на другом сервере. Я использую метод curl в call the php в Mantis 1.1.6.

Поместите это в пост-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», и он исправляет ошибку и добавляет к ней ошибку. Сценарий также добавляет каталоги, которые были модифицированы также в bugnote (я попытался показать измененные файлы, но слишком много умалчило от легкого понимания)

0

Я лично использую приватный репозиторий SVN в своей локальной среде разработки с использованием VisualSVN Server и общедоступного отслеживания ошибок Mantis. Мне пришлось сменить регистрацию.php файл для обработки вызовов с веб-сервера (с помощью этой веб-страницы: http://www.mantisbt.org/bugs/view.php?id=8847)

Я сделал короткое консольное приложение C# для обработки этого вместо пакетного файла, поэтому он более настраивается и поддерживает удаленный или локальных файлов checkin.php.

Я разместил статью об этом на моем блоге с исходным кодом, если вы заинтересованы: http://mp4m.org/blog/svn-and-mantis-bug-tracker-integration/

Надежда, что помогает!