2008-09-24 15 views
7

Hago principalmente desarrollo de Windows. Usamos Mantis y Subversion para nuestro desarrollo, pero no están integrados, de hecho están en servidores diferentes.¿Has integrado Mantis y Subversion?

Hice un poco de google sobre la integración de los dos y encontré this post. Se veía interesante.

Me preguntaba si alguien está haciendo esto o lo ha hecho y cuál ha sido tu experiencia. Si tienes una solución diferente, ¡me interesaría saber eso también!

Gracias!

+0

Me pregunto si esto funciona cuando no tiene acceso directo al repositorio svn ... sigue buscando preguntas/respuestas similares. – icedwater

+1

Sí, funcionó muy bien para nosotros (y por eso escribí la publicación). Esa empresa usó esa solución durante varios años (y todavía puede estar utilizándola por lo que sé). La clave para mí fue aprender sobre los ganchos de subversión, que pueden implementarse en cualquier idioma. – alttag

Respuesta

3

Hemos usado scmbug desde hace bastante tiempo para vincular SVN a Bugzilla. Funcionó muy bien hasta que nos actualizamos a Bugzilla 3.2 recientemente, lo que rompió la integración. El equipo de scmbug tarda un poco en ponerse al día cuando salen nuevas versiones de las herramientas de SCM, lo cual es comprensible.

1

Me encontré con scmbug. Parece que conectará cosas como Mantis a cosas como Subversion.

0

Seguimos los pasos en su enlace, la única diferencia es que en Windows tiene en su lugar post-commit.bat. Si te desplazas hacia abajo, alguien publica una muestra. Modificamos eso para que registre los archivos modificados y quién los cambió, un truco bastante fácil para el archivo por lotes. Intentamos incluir los diffs en un punto, pero fue obvio que hacer eso es una mala idea debido al tamaño de algunos checkins.

funciona muy bien y estoy muy feliz - ahora tengo que mover todas nuestras cosas a través de SourceSafe ...

5

utilizo Mantis con SVN. Más o menos como dice ese enlace, aunque coloque la expresión regular en el postcompromiso para que no intente actualizar el error si el mensaje de confirmación no es relevante, eso hace que las confirmaciones de actualización de errores no respondan un poco más rápido.

Mi instalación de Mantis está en un servidor diferente también. Uso el método curl a call the php en Mantis 1.1.6.

poner esto en su gancho post-commit.cmd (necesitará descargar strawberry perl y perl.exe agarrar y perl510.dll de ella, no es necesario el resto)

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 

y poner esto en 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; 

Si desea migrar de VSS, hay un montón de secuencias de comandos, incluyendo uno que escribí en codeplex.

Todo funciona bien, lo usamos todo el tiempo, y es lo suficientemente rápido para no notarlo. Simplemente escriba "Mantis fijo # 1234" y resuelve el error y le agrega una nota de error. La secuencia de comandos también agrega los directorios que se modificaron a la nota de error también (traté de mostrar los archivos modificados, pero muchos detractan de la comprensión fácil)

0

Personalmente estoy usando un repositorio SVN privado en mi entorno de desarrollo local usando el Servidor VisualSVN y un seguidor público de errores Mantis. Tuve que cambiar el registro.php file un poco para manejar llamadas desde un servidor web (con ayuda de esta página web: http://www.mantisbt.org/bugs/view.php?id=8847)

He creado una aplicación de consola C# corta para manejar esto en lugar de un archivo por lotes, por lo que es más configurable y admite control remoto o archivos locales checkin.php.

me han publicado un artículo sobre esto en mi blog con el código fuente si está interesado: http://mp4m.org/blog/svn-and-mantis-bug-tracker-integration/

Espero que ayude!