Domanda

Faccio principalmente lo sviluppo di Windows. Utilizziamo Mantis e Subversion per il nostro sviluppo, ma non sono integrati insieme, in realtà si trovano su server diversi.

Ho fatto un po 'di google sull'integrazione dei due insieme e mi sono imbattuto in questo post . Sembrava interessante.

Mi chiedevo se qualcuno lo facesse o lo avesse fatto e quale sia stata la tua esperienza. Se hai una soluzione diversa, sarei interessato a saperlo anche tu!

Grazie!

È stato utile?

Soluzione

Abbiamo usato scmbug per un po 'di tempo per collegare SVN a Bugzilla. Ha funzionato molto bene fino a quando non abbiamo aggiornato a Bugzilla 3.2 di recente, il che ha interrotto l'integrazione. Ci vuole un po 'di tempo prima che il team scmbug riesca a recuperare il ritardo quando escono nuove versioni degli strumenti SCM, il che è comprensibile.

Altri suggerimenti

Uso Mantis con SVN. Praticamente come dice quel link, anche se ho inserito regexp nel post-commit in modo che non tenti di aggiornare il bug se il messaggio di commit non è rilevante, ciò fa sì che i commit di aggiornamento non-bug rispondano leggermente più velocemente.

Anche la mia installazione di Mantis si trova su un altro server. Uso curl in chiama il metodo php in Mantis 1.1.6.

Inseriscilo nel tuo hook post-commit.cmd (dovrai scaricare strawberry perl e prendere perl. exe e perl510.dll da esso, non è necessario il 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

e inseriscilo in 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;

Se vuoi migrare da VSS, ci sono molti script, incluso uno che ho scritto su CodePlex.

Funziona tutto bene, lo usiamo sempre, ed è abbastanza veloce da non accorgersene. Basta digitare " Fixed Mantis # 1234 " e risolve il bug e aggiunge un bugnote ad esso. Lo script aggiunge anche le directory che sono state modificate anche nel bugnote (ho provato a mostrare i file modificati, ma troppi hanno sminuito la facile comprensione)

Ecco lo Script post-commit di Subversion che utilizziamo. Utilizza PHP per eseguire lo script PHP Mantin checkin come suggerito in questo link nel post originale.

Mi sono imbattuto in scmbug . Sembra che collegherà cose come Mantis a cose come Subversion.

Abbiamo seguito i passaggi nel tuo link: l'unica differenza è che su Windows hai invece post-commit.bat. Se scorri verso il basso qualcuno pubblica un campione. L'abbiamo modificato in modo che registri i file modificati e chi li ha modificati: un hack abbastanza semplice per il file batch. Abbiamo provato a includere le differenze a un certo punto, ma è stato abbastanza presto evidente che farlo è una cattiva idea a causa delle dimensioni di alcuni check-in.

Funziona davvero bene e sono davvero felice - ora devo spostare tutta la nostra roba Sourcesafe attraverso ...

Uso personalmente un repository SVN privato sul mio ambiente di sviluppo locale usando VisualSVN Server e un tracker di bug pubblico Mantis. Ho dovuto cambiare un po 'il file checkin.php per gestire le chiamate da un server web (con l'aiuto di questa pagina web: http://www.mantisbt.org/bugs/view.php?id=8847 )

Ho creato una breve applicazione console C # per gestire questo invece di un file batch, quindi è più configurabile e supporta file checkin.php remoti o locali.

Ho pubblicato un articolo su questo sul mio blog con il codice sorgente se sei interessato: http://mp4m.org/blog/svn-and-mantis-bug-tracker-integration/

Spero che ti aiuti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top