Question

Je fais principalement du développement Windows. Nous utilisons Mantis et Subversion pour notre développement mais ils ne sont pas intégrés ensemble, ils sont en fait sur des serveurs différents.

J'ai fait une petite recherche sur l'intégration des deux ensembles et je suis tombé sur cet article . Cela semblait intéressant.

Je me demandais si quelqu'un le faisait ou l'a fait et quelle a été votre expérience. Si vous avez une solution différente, je serais intéressé à le savoir aussi!

Merci!

Était-ce utile?

La solution

Nous utilisons depuis longtemps scmbug pour relier SVN à Bugzilla. Cela a très bien fonctionné jusqu’à ce que nous passions récemment à Bugzilla 3.2, ce qui a brisé l’intégration. L’équipe de scmbug met un peu de temps à rattraper son retard lorsque de nouvelles versions des outils SCM sont disponibles, ce qui est compréhensible.

Autres conseils

J'utilise Mantis avec SVN. Presque comme le dit ce lien, bien que je mette l'expression rationnelle dans la post-validation afin qu'elle ne tente pas de mettre à jour le bogue si le message de validation n'est pas pertinent, les validations ne mettant pas à jour les bogues répondent un peu plus rapidement.

Mon installation de Mantis est également sur un autre serveur. J'utilise curl pour appelez la méthode php dans Mantis 1.1.6.

Mettez ceci dans votre hook post-commit.cmd (vous devez télécharger strawberry perl et récupérer perl. exe et perl510.dll, vous n’avez pas besoin du reste)

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

et mettez ceci dans 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 vous souhaitez migrer à partir de VSS, il existe une multitude de scripts, y compris celui que j'ai écrit sur codeplex .

Tout fonctionne bien, nous l’utilisons tout le temps et il est assez rapide pour ne pas le remarquer. Il suffit de taper " Fixed Mantis # 1234 " et il résout le bogue et y ajoute une note de bogue. Le script ajoute également les répertoires qui ont été modifiés à la note de bogue (j'ai essayé d'afficher les fichiers modifiés mais trop de choses empêchent de comprendre facilement).

Voici le script post-commit de Subversion que nous utilisons. Il utilise PHP pour exécuter le script PHP checkin Mantis comme suggéré dans ce lien dans le message d'origine.

J'ai rencontré scmbug . On dirait que cela va brancher des choses comme Mantis à des choses comme Subversion.

Nous avons suivi les étapes de votre lien - la seule différence est que sous Windows, vous avez plutôt post-commit.bat. Si vous faites défiler l'écran, quelqu'un poste un échantillon. Nous avons modifié cela afin de consigner les fichiers modifiés et l'identité de ceux qui les ont modifiés - un piratage assez facile du fichier de commandes. Nous avons essayé d’inclure les différences à un moment donné - mais il est vite devenu évident que cela est une mauvaise idée en raison de la taille de certains chèques.

Cela fonctionne vraiment bien et je suis vraiment heureux - je dois maintenant déplacer tous nos documents Sourcesafe ...

J'utilise personnellement un référentiel SVN privé sur mon environnement de développement local à l'aide de VisualSVN Server et d'un gestionnaire de bogues Mantis public. J'ai dû modifier un peu le fichier checkin.php pour gérer les appels d'un serveur Web (à l'aide de cette page Web: http://www.mantisbt.org/bugs/view.php?id=8847 )

J'ai créé une courte application console C # pour gérer cela au lieu d'un fichier de commandes. Elle est donc davantage configurable et prend en charge les fichiers checkin.php locaux ou distants.

J'ai posté un article à ce sujet sur mon blog avec le code source si cela vous intéresse: http://mp4m.org/blog/svn-and-mantis-bug-tracker-integration/

J'espère que ça aide!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top