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)
Me pregunto si esto funciona cuando no tiene acceso directo al repositorio svn ... sigue buscando preguntas/respuestas similares. – icedwater
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