Pregunta

Hago principalmente desarrollo de Windows.Usamos Mantis y Subversión para nuestro desarrollo pero no están integrados entre sí, de hecho están en servidores diferentes.

Busqué un poco en Google sobre la integración de los dos y encontré esta publicación.Parecía interesante.

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

¡Gracias!

¿Fue útil?

Solución

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

Otros consejos

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

Mi instalación de Mantis también está en un servidor diferente.yo suelo rizo a llamar al php método en Mantis 1.1.6.

Coloque esto en su enlace post-commit.cmd (deberá descargar Perla de fresa y toma perl.exe y perl510.dll, no necesitas 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 pon 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 desde VSS, hay una gran cantidad de scripts, incluido uno que escribí en códice.

Todo funciona bien, lo usamos todo el tiempo y es lo suficientemente rápido como para no notar que está ahí.Simplemente escriba "Fixed Mantis #1234" y resolverá el error y le agregará una nota de error.El script también agrega los directorios que se modificaron a la nota de error (intenté mostrar los archivos modificados, pero muchos restan valor a la fácil comprensión).

Aquí esta la Script posterior a la confirmación de Subversion usamos.Utiliza PHP para ejecutar el script PHP de registro de Mantis como se sugiere en este enlace en la publicación original.

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

Seguimos los pasos de su enlace; la única diferencia es que en Windows tiene post-commit.bat.Si te desplazas hacia abajo, alguien publica una muestra.Lo modificamos para que registre los archivos modificados y quién los cambió: un truco bastante fácil para el archivo por lotes.Intentamos incluir las diferencias en un momento, pero rápidamente resultó obvio que hacerlo es una mala idea debido al tamaño de algunos registros.

Funciona muy bien y estoy muy feliz. Ahora tengo que mover todas nuestras cosas de Sourcesafe...

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

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

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

¡Espero que ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top