2010-12-01 8 views
1

Y at-il un moyen de comparer les lignes de code entre deux versions de clearcase, ou d'ailleurs quel que soit le contrôleur de version, je veux comparer deux versions différentes dire comparer branche principale avec la branche de développement. Je regarde ce sujet pour Javacompter les lignes de code entre deux versions

+1

Sur quelle plateforme êtes-vous? On dirait que vous utilisez un VCS, lequel? Utilisez-vous Eclipse?Il y a beaucoup, beaucoup de visionneuses de différences de fichiers là-bas, il y en a probablement une dans votre VCS en supposant que vous utilisez un plugin eclipse. – Falmarri

+0

Vous pouvez utiliser le système de contrôle de version pour comparer les branches. Je ne suis pas sûr comment cela peut être fait dans un autre outil, mais 'cvs',' svn' le supporte. De plus, 'diff' pour Unix, Linux, Mac OS X,' fc' pour windows sont des utilitaires pour comparer des fichiers et des répertoires. – khachik

+0

La question est étiquetée clearcase qui est un VCS commersial. Les réponses liées à svn ne seront d'aucune utilité ici. – hlovdal

Répondre

2

si vous avez besoin de comparer + vue + modifier les lignes puis la recommandation VonC de WinMerge est excellent, mais si vous avez besoin de comparer le nombre de lignes de code (nombre) puis un outil sloc diff comme ProjectCodeMeter ou CLOC serait être meilleur.

+0

J'utilise CLOC et je pense que c'est plutôt génial –

+0

La seule chose que je cherche est un certain nombre de lignes de code pour d'autres projets afin que je puisse dire à mon manager "notre projet se compare à la taille de ...." –

0

il existe des charges d'outils de fusion/diff. j'utilise meld qui a une grande visualisation et la manipulation de fichiers et de répertoires comparision

0

Si la seule chose que vous voulez faire est de compter les lignes et que vous utilisez svn je vous suggère d'exécuter

svn blame -r N:M | wc -l 

Je ne peux pas vérifiez que cette ligne de commande fonctionne bien maintenant mais l'idée est d'utiliser svn blame entre 2 révisions intéressantes (N et M), puis exécutez wc -l (nombre de lignes).

Je crois que chaque contrôle de source a une commande similaire à svn blame.

1

Alors que vous pouvez utiliser diff/outil de fusion (comme WinMerge sous Windows) pour obtenir une comparaison sur un tout ensemble de fichiers, je vous conseille d'utiliser:

  • deux vues ClearCase avec la bonne configuration pour sélectionner les bonnes versions
  • deux dynamiques vues afin d'obtenir rapidement toutes les versions pertinentes (vues instantanées seraient trop longues à charger)
0

Vous pouvez aussi utiliser deux VonC suggère dif vues divergentes. Vous pouvez également utiliser la syntaxe [email protected]@version pour accéder directement aux deux versions si vous savez exactement ce que vous cherchez. Deux vues sont probablement la meilleure option si vous allez automatiser quelque chose (ce que l'implémentation de quelque chose dans java me suggère).

Quand vous dites « comparer les lignes de code entre les deux versions ClearCase » Je suppose que vous cherchez quelque chose autre que la norme cleartool diff (BTW, KDiff3 est un excellent utilitaire diff qui ont l'intégration de ClearCase, je vous conseille vivement), et supposons qu'il est plus dans le "nombre de lignes" direction que vous regardez. Cependant, le simple fait de compter la différence dans les lignes ne donne qu'une information limitée, il est également intéressant de savoir si les lignes qui constituent la différence sont le plus souvent ajoutées ou supprimées. Pour donner ce type d'information, vous pouvez utiliser diffstat (voir this answer pour une sortie exemple).

À mon dernier emploi, j'ai écrit une interface utilisateur graphique java pour exécuter

diff -u [email protected]@/main/branch1/LABEL1 [email protected]@/main/branch2/LABEL2 | diffstat 

donné deux étiquettes, itérer sur plusieurs fichiers, mais je puis dépendu sur bash, diff et diffstat de Cygwin, je ne suis pas au courant d'aucune alternatives java pur ici.

Questions connexes