2008-11-14 5 views
1

Nous avons un outil de gestion de projet personnalisé construit en ASP, net 3.5 et nous utilisons VisualSVN pour notre gestion de version. Cependant, nous cherchons un moyen de signaler les changements de version grâce à l'outil de gestion de projet en intégrant VisualSVN à notre outil de gestion de projet, c'est-à-dire très similaire à ce que Trac [outil SCM basé sur python] fournit.Reporting SVN sous ASP.Net

Fondamentalement à la recherche d'une API Client VisualSVN simple pour être en mesure de détecter & signaler les modifications de fichier en fonction de l'ensemble de révision fourni.

Répondre

0

Check Svn.NET Je pense que c'est la meilleure solution pour les bindings .NET actuels des bibliothèques système client Subversion.

3

Il y a également SharpSvn qui encapsule l'ensemble de l'API client de Subversion 1.5. Il est sous licence Apache 2.0 et provient de CollabNet.

0

Si vous êtes satisfait de certains scripts, vous pouvez utiliser svnlook, qui est l'outil qui fournit des rapports sur les modifications et les modifications du référentiel.

Je l'utilise dans un hook post-commit pour envoyer les changements de tous les fichiers à mon bugtracker, afin qu'il puisse afficher les fichiers qui ont été modifiés en fonction d'un numéro de révision. J'ajoute un texte spécifique au journal, et il le choisit pour savoir à quel bogue associer les données.

EDIT, comme l'a demandé, ce script Perl est appelé à partir du crochet post-commit:

$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 . "---\nSVN Revision: " . $ARGV[1]; 
$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; 

ce écrit dans le fichier postcommit_mantis.txt qui est envoyé à Mantis par boucle:

d:\tools\curl -s -d user=svn -d @c:\temp\postcommit_mantis.txt http://<server>/mantis/core/checkincurl.php 
+0

pouvez-vous partager le script que vous utilisez? – Vikram