36 votes

Comptage des lignes de code modifiées dans le temps

Existe-t-il un bon outil permettant de calculer le nombre de lignes de code modifiées sur une certaine période dans un référentiel mercurial? Quelque chose dans les lignes de statsvn serait bien, mais tout ce qui compte le nombre de lignes de code modifiées dans les 6 mois fera l'affaire (y compris une combinaison astucieuse d'arguments dans hg log). Merci.

PS: S'il vous plaît ne discutez pas de l'objectif de mesurer ce nombre;)

26voto

Ry4an Points 56453

L' extension hg de désabonnement est ce que vous voulez.

Vous pouvez obtenir des résultats visuels avec l’ activité hg ou un graphique hg .

16voto

Brian Mortenson Points 2355

Edit: hg diff et hg log prennent en charge un --stat option qui peut faire cela pour vous, mais en mieux et plus vite.


J'ai fait un alias appelé lines de compter les lignes modifiées (pas nécessairement de lignes de code) pour moi. Essayez de mettre cet alias dans votre .hgrc fichier:

[alias]
lines = !echo `hg log -pr $@ | grep "^+" | wc -l` Additions; echo `hg log -pr $@ | grep "^-" | wc -l` Deletions; 

De le passer à la révision en premier, suivi par les arguments facultatifs:

hg lines tip ou hg lines 123:456 -u brian

Parfois, vous voulez savoir le nombre de lignes modifiées à l'exclusion des espaces uniquement les modifications. Cela nécessite l'utilisation de l' diff -w - dessous au lieu de log -p. - Je configurer un linesw alias pour ce:

#ignore whitespace
linesw = ![[ $1 =~ : ]] && r=$1 || r="$1~1:$1"; echo `hg diff -wr $r | grep "^+\([^+]\|$\)" | wc -l` Additions; echo `hg diff -wr $r | grep "^-\([^-]\|$\)" | wc -l` Deletions; 

hg linesw tip ou hg lines 123:456

Remarque ils se comportent un peu différemment, car diff et log se comporter différemment-par exemple, log prendra --user paramètre tout en diff ne sera pas, et lors du passage d'une plage, log présentent les modifications engage dans la première révision de la donnée dans la gamme, tout en diff ne le seront pas.

Cela a seulement été testé à l'aide de bash.

10voto

Irish Buffer Points 497

J'avais besoin de le faire, et a passé un peu de temps avec le hg taux de désabonnement de l'extension et des solutions similaires.

En fin de compte, j'ai trouvé que ce qui a fonctionné le mieux pour moi était CLOC (Nombre de Lignes de Code): http://cloc.sourceforge.net/

Vous pouvez lui donner deux dossiers contenant les deux versions d'un projet, et il va compter toutes les lignes sont les mêmes, modifié, ajouté, supprimé. Il reconnaît plusieurs langues et détaille code, les commentaires et les lignes vierges.

Pour l'utiliser, j'ai sorti les deux versions de mon code à partir de Hg en parallèle les deux dossiers, puis utilisé cloc --diff --ignore-blanc

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X