2017-09-08 4 views
0

J'utilise la commande "svn log --xml -r {2017-01-01}: {2017-09-01}> logfile.xml" pour exporter les données du journal SVN, mais quand j'utilise le commutateur --xml, Aucune information de ligne de validation n'est incluse. J'ai besoin du format XML pour les prochaines transformations de données. Existe-t-il un moyen d'inclure des informations statistiques sur les lignes de validation au format XML? Parce que j'ai besoin d'informations sur chaque utilisateur avec le nombre de commit et le nombre de lignes de commit.Comment inclure la statistique de la ligne de validation de l'utilisateur Subversion à l'aide de l'export svn log --xml?

+0

Pourquoi le nombre de lignes validées est-il important en premier lieu? Si vous tentez de mesurer la productivité des programmeurs via des lignes de code, vous vous trompez. – alroc

Répondre

1

La sortie de svn log (XML ou autre) n'inclut pas cette information en premier lieu. Vous pouvez obtenir l'horodatage, le numéro de révision, l'auteur et les noms des chemins modifiés.

Pour obtenir le nombre de lignes modifiées dans un commit, vous devez effectuer un diff entre chaque révision et la précédente. Mais cela tombe en panne quand on considère:

  • révisions où seules les propriétés ont été modifiées
  • révisions où les fichiers entiers ont été ajoutés, supprimés ou délocalisés
  • révisions où aucune fonctionnalité a été modifiée, seule mise en forme/espaces blancs
  • Révisions contenant des fichiers binaires (et donc pas de "lignes" à modifier en premier lieu)
  • Révisions avec de grandes quantités de refactoring - si quelqu'un remplace de grandes quantités de code avec un algorithme plus concis ou un appel à une bibliothèque/fonction existante , wh à ce que negative 2000 lines of code signifie vraiment?

J'ai de la difficulté à envisager une situation où la création de rapports sur le nombre de lignes de code modifiées serait une métrique valide et utile.