Question

Je suis à la recherche d'un outil qui me permettra de compiler une histoire de certaines mesures de code pour un projet donné.

Le projet est stocké à l'intérieur d'un dépôt Mercurial et a une centaine de révisions. Je cherche quelque chose que:

  • vérifie chaque révision
  • calcule les paramètres et les stocke quelque part avec un identifiant de la révision
  • fait la même chose avec les prochaines révisions

Pour commencer, le comptage SLOCs serait suffisante, mais ce serait aussi bien d'analyser # de tests, etc TestCoverage.

Je sais que ces choses sont généralement gérées par un serveur de CI, mais je suis en solo sur ce projet et ont donc pas pris la peine de mettre en place un serveur de CI (je voudrais utiliser TeamCity mais je vraiment ne pas voir les avantage de le faire dans le beginnig). Si je mis en place maintenant mon CI Server, pourrait-il gérer cela?

Était-ce utile?

La solution

Selon la suggestion de gigue je l'ai écrit un petit script bash en cours d'exécution dans Cygwin en utilisant sloccount pour compter les lignes de source. La sortie a été tout simplement jeté à un fichier texte:

 #!/bin/bash
COUNT=0 #startrev
STOPATREV = 98
until [ $COUNT -gt $STOPATREV ]; do
        hg update -C -r $COUNT >> sloc.log # update and log
        echo "" >> sloc.log # echo a newline
        rm -r lib # dont count lib folder
        sloccount /thisIsTheSourcePath | print_sum
        let COUNT=COUNT+1
done 

Autres conseils

Vous pouvez écrire un exemple script shell qui

  1. vérifie première version
  2. sloccount sur elle (sauf sortie)
  3. vérifier prochaine version
  4. répétez les étapes 2-4

Ou regarder dans ohloh qui semble avoir le soutien mercurial maintenant.

Sinon I ne sais pas d'un outil statistique de SCM qui soutient Mercurial. Comme Mercurial est relativement jeune (depuis 2005), il peut prendre un certain temps jusqu'à ce que ces « cas d'utilisation secondaire » sont pris en charge. (TRUC: peut-être fournir une bibliothèque hgstat vous car il y a pour svn et csv)

S'il me écrivaient des logiciels pour faire ce genre de chose, je pense que je largue des résultats des métriques pour le projet en un seul fichier, et le contrôle de révision qui. Ensuite, la « analyse historique » outil devrait retirer les anciennes versions de juste ce fichier, plutôt que d'avoir à retirer chaque ancienne copie de l'ensemble du référentiel et exécutez à nouveau tous les tests à chaque fois.

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