De toute façon d'utiliser un outil de comparaison avec cleartool/clearcase?
Je voudrais utiliser mon propre diff lorsque vous travaillez dans un clearcase vue instantané.
Aussi loin que je peux voir, il n'y a aucun moyen de spécifier un outil de comparaison lors de l'exécution de "cleartool diff
", donc je pensais que je pouvais lancer quelque chose comme "mydiff <predecessor file> <modified file in my view>
", mais je ne sais pas assez sur ClearCase pour être en mesure de trouver le "prédécesseur fichier" diff contre.
Toute façon de le faire?
Oublié de mentionner (jusqu'à maintenant, après avoir lu les deux premières réponses traiter avec windows) que c'est sur Unix, et je ne suis pas autorisé à fumier avec la configuration ClearCase.
- Je viens d'ajouter un avertissement sur le script ne fonctionne correctement en vue dynamique, en réponse à votre commentaire
Vous devez vous connecter pour publier un commentaire.
Comment modifier la valeur par défaut diff outils
Vous pouvez spécifier un externe outil de comparaison par modifier le fichier carte, dans "c:\program files\rational\ClearCase\lib\rgm"
La WinMerge suggéré par Paul modifie ce fichier.
Chaque carte de ligne comporte 3 parties: la CC type du fichier, la CC de l'action, et de l'application.
Trouver la section dans le fichier de mappage pour text_file_delta types de fichiers. Vous y trouverez des lignes de CC actions comparer, xcompare, de fusion, et xmerge qui ressemble à ceci:
Vous pouvez les remplacer par la fichier exécutable de votre outil de comparaison de choix.
Ou, un simple script diff
Si vous voulez aller à plein de ligne de commande sur ce (que j'aime 😉 ), un peu ccperl peut aider:
Avertissement: extended chemin (
@@\...
) est accessible uniquement en vue dynamique (M:\...
, pas de vue (c:\...
).Le script n'a rien à voir avec la
map
fichier présenté ci-dessus:Ici, vous fournir le script de deux informations: le fichier (comme un paramètre) et les diff exe pour lancer (dans le script de mise en œuvre: remplacer
mydiff
quel que soit la diff exe que vous voulez).Ou, l'amélioration de la diff de script (travaux en statique/instantané de points de vue trop)
Ici est une version de ce script qui fonctionne pour à la fois instantané et dynamique.
De vue, j'utilise le chacmool suggestion:
cleartool get
.Encore une fois, vous pouvez remplacer le
diff
de commande inclus dans ce script par l'outil de votre choix.xmerge
. Clearcase tente de passer-out
et-base
arguments qui bien sûr ne sont pas reconnus par p4merge. Sauf si il y a un remède pour ça que je ne sais pas.Une autre option est d'utiliser Git+ClearCase (ou voir cette ou cette) et un peu diff avec Git.
C'est très facile à monter et, dans mon expérience, il fait mal votre cerveau moins d'utiliser deux systèmes VCS à la fois plutôt que d'essayer de battre CC dans un 21ème siècle outil.
Il suffit de penser de Git comme un pont entre CC et diff 🙂
Il semble que quelqu'un a déjà pensé à ce sujet sur snip2code!
Ici un tcsh, bash script qui fait exactement ce que vous voulez.
Personnalisé-diff-outil-pour-clearcase-objet
Comme vous pouvez le voir voici le code de la clé pour obtenir la version précédente d'un fichier donné:
cleartool descr -pred -short $1
Où
$1
est le nom du fichier à comparer.Kdiff3 a construit dans l'intégration. Ouvrez l'outil - allez dans Paramètres --> Configure --> l'Intégration et cliquez sur "Intégrer avec ClearCase" bouton. Cet outil a d'excellentes 3 voies diff soutien, gère l'UTF-8 et avec cette intégration automatisée vous n'avez pas à vous soucier de types d'éléments, etc. dans le fichier map.
J'ai eu une autre façon de travailler sur la base des suggestions ici. J'ai découvert le cleartool commande "get", j'ai donc l'exécuter pour obtenir la version précédente d'un fichier temp:
cleartool-de fname.temp fname@@prédécesseur
Puis exécuter mon diff, et de supprimer ce fichier.
Merci pour toutes les suggestions.
Voici un lien vers le IBM docs sur l'évolution de la ClearCase XML outil de comparaison:
Changer le XML comparaison/Fusion de Type Gestionnaire de
http://www-01.ibm.com/support/docview.wss?rs=984&uid=swg21256807
Vous pouvez essayer d'utiliser cette astuce:
Créer un fichier vide
% touch empty
Récupérer pour la version Un
% cleartool diff -ser empty File@@/main/28 > A
Récupérer pour la version B
% cleartool diff -ser empty File@@/main/29 > B
Diff & profit!
% your-diff-here A B
Le mettre dans un script et de faire les options un peu plus flexible et là vous l'avez.
Si vous voulez vous pouvez facilement couper le cleartool diff crud hors tension, avec un peu de
awk
oucut
ouperl
ou votre poison de choix.Hourra pour ClearCase!
J'ai installé "WinMerge" (sans outil de comparaison) et il s'est installé comme le clearcase outil de comparaison. Je ne suis pas sûr de savoir comment il a fait.
WinMerge comme mentionné détecte automatiquement l'installation de ClearCase et modifie le fichier de la carte dans le Clearcase chemin d'installation.
J'ai connu des problèmes ont été ClearCase va ouvrir son propre outil de comparaison à la place car le WinMerge d'installation n'a pas changé tous les éléments de ligne. C'est donc une bonne idée de lire la documentation pour ClearCase de sorte que vous pouvez le faire manuellement en cas de besoin.
Pour moi, cela fonctionne très bien:
J'ai l'habitude de procéder comme cela.
Pour un diff unifié
cleartool diff -pred <my file>
Graphique diff
cleartool diff -pred -g <my file>