2008-11-02 7 views
6

Nous utilisons Subversion. Nous voudrionsSVN - Récupération des informations utiles

1. search across all commit messages ? 
2. monitor the commits on certain important files ? 
3. identify files that are never/rarely used ? 
4. identify files that are most frequently changed ?   
5. identify files that most developers have accessed ? 
6. identify files that have been committed together many number of times ? 

L'utilisation de ces données pourrait être d'éliminer les messages comme these, à factoriser code et nettoyer le projet des fichiers inutilisés.

S'il vous plaît proposer des outils pour obtenir le même ..

EDIT: Nous courons SVN sur Windows 2003.

Répondre

3

Un autre outil à consulter est ViewVC. La dernière version a la possibilité de gérer une base de données de validation. Cela vous permet de rechercher dans tous les messages de validation et de voir une liste de modifications apportées à un fichier ou à des fichiers dans un répertoire filtré par utilisateur, heure ou expression régulière. Il prend également en charge les flux RSS, ce qui permettrait une certaine forme de notification à des fichiers individuels.

Pour 3, 4 et 5 sur votre liste StatSVN qui est mentionné dans les autres réponses devrait être en mesure de le faire. Pour une solution commerciale, il existe FishEye d'Atlassian.

Sur notre référentiel, nous utilisons une combinaison de ViewVC et StatSVN, la première utilisée pour l'exploration du référentiel et la recherche des messages de validation avec ce dernier pour regarder les statistiques.

1

Quelle plate-forme utilisez-vous? Sur Linux, un script shell rapide utilisant sed devrait faire l'affaire.

+0

Nous utilisons SVN sur Windows. Pouvez-vous indiquer comment utiliser sed pour obtenir ces informations? –

1

En .NET land, il y a la bibliothèque SharpSvn que vous pouvez utiliser. Pour réaliser ce que vous voulez, vous devrez aspirer tous les messages de journal et les analyser vous-même, cependant.

5

StatSVN devrait être en mesure de faire la majorité de cela pour vous. Cependant, vous devrez configurer une tâche planifiée pour l'exécuter sur votre référentiel, ou vous pouvez l'intégrer dans une construction Ant si vous l'utilisez.

Certaines des tâches les plus complexes, comme le numéro 6 de votre liste, nécessiteront probablement une solution personnalisée. Alternativement, comme StatSVN est open source, vous pouvez apporter les modifications nécessaires et les renvoyer au projet.

1

Vous pouvez en faire beaucoup avec le client de ligne de commande Subversion et certains scripts (Ruby ou Python), mais ne vous attendez pas à ce que les gens écrivent le code pour vous. Les détails d'implémentation dépendront de la fréquence à laquelle vous souhaitez exécuter les statistiques et de la taille de votre dépôt. Lors du traitement des données à partir du client de ligne de commande Subversion, il est plus facile d'utiliser l'option --xml (acceptée par les commandes "log" et "info") qui génère les données au format XML.

1. search across all commit messages ? 

Run "svn log -v --xml" et exécuter un texte recherche sur le XML résultant (ou une partie de celui-ci). Vous pouvez spécifier quel ensemble de messages de validation vous souhaitez rechercher.

2. monitor the commits on certain important files ? 

Ceci est implémenté avec les déclencheurs de validation. Voir la documentation du serveur Subversion.

3. identify files that are never/rarely used ? 
4. identify files that are most frequently changed ?   
5. identify files that most developers have accessed ? 
6. identify files that have been committed together many number of times ? 

Ceux-ci peuvent tous être mis en oeuvre en utilisant la sortie de « svn log --xml » et post-traitement des données XML résultant.

Questions connexes