Nous utilisions Visual Source Safe et il y avait une fonctionnalité intéressante que je ne trouve pas dans TortoiseHG. Vous faites un clic droit sur un fichier et cliquez sur "Afficher l'historique". VSS ouvre une liste de versions pour ce fichier. Ensuite, vous sélectionnez deux versions (c'est-à-dire: la version 50 et la version 47) et cliquez sur le bouton de comparaison pour lancer un diff visuel des deux versions. Comment puis-je faire cela avec Mercurial/TortoiseHG? J'ai vu la fonction d'annotation, mais ne compare que les versions consécutives d'un fichier.Comment obtenir un diff visuel de deux versions non consécutives d'un fichier en utilisant Mercurial TortoiseHG?
Répondre
Vous pouvez le faire dans l'Explorateur du référentiel de TortoiseHG:
Marquez une version, faites un clic droit sur une autre version et un menu contextuel apparaîtra.
Dans ce menu contextuel, choisissez "Diff visuel avec sélection".
EDIT:
@Sly:
Au lieu d'utiliser la boîte de filtre, vous pouvez faire un clic droit sur Class1.cs dans l'Explorateur Windows et ouvrez l'Explorateur de référentiel à partir de là. Lorsque vous faites cela, le filtre est déjà actif et vous ne voyez que les changesets où class1.cs était impliqué. Cela rend l'étape 1 beaucoup plus facile (au moins à mon avis, je le fais toujours de cette façon) ET il élimine complètement les étapes 4 et 5 (la liste n'apparaît pas du tout puisqu'il n'y a qu'un seul fichier à diff).
J'ai trouvé plus rapide de faire ce qui suit que de tripoter TortoiseHG dans le but que vous décrivez.
Installer Winmerge à l'emplacement par défaut;
Ensuite, modifiez votre hgrc global pour l'avoir. (Mercurial.ini dans Windows)
[extdiff]
cmd.guidiff = C:\Program Files\WinMerge\WinMergeU.exe
Et puis,
hg guidiff -r rev1 -r rev2
sur la ligne de commande. Notez que vous pouvez utiliser kdiff3 ou autre en tant que client diff de votre interface graphique.
C'est sympa. Disons que je veux voir les changements récents pour class1.cs et comparer les versions. Je voudrais: 1) 'hg log -I ** class1.cs -l 10' pour voir les changements récents pour class1. 2) Localiser les révolutions que je veux comparer. 3) 'hg guidiff -r 535 -r 500 -I ** class1.cs' pour ouvrir le diff pour ce fichier spécifique. – Sylvain
@Sly: oui. Vous n'aurez pas besoin de ces ** mais je ne crois pas. –
- 1. Comment configurer Komodo diff en utilisant tortoiseHg et beyondcompare?
- 2. Comment laisser Mercurial montrer "hg out --patch" diff comme visuel diff?
- 3. Obtenez diff visuelle de deux révisions d'un fichier
- 4. Mercurial/TortoiseHG Fusionner le tronc de lignes en branche
- 5. Existe-t-il un moyen de montrer diff visuel à partir d'un serveur Web Mercurial?
- 6. Joindre deux lignes consécutives en utilisant awk ou sed
- 7. Trouver deux lignes consécutives
- 8. Existe-t-il un moyen de voir le diff sur un fichier entre deux versions Android différentes?
- 9. Mercurial: inclut les révisions de git diff?
- 10. Mercurial Revert/Backout un seul fichier
- 11. Diff mercurial: ignorer les espaces de fin?
- 12. Mercurial: "devinez renommer" TortoiseHg de la ligne de commande?
- 13. Utiliser WinMerge comme outil de fusion TortoiseHG
- 14. comment faire diff svn ne montrent que des changements de ligne non-espace entre deux révisions
- 15. Comment obtenir un fichier modifié à partir du fichier de base et du fichier diff?
- 16. Diff deux onglets dans Vim
- 17. Comment obtenir une sortie non-XML en utilisant JDOM XSLTransformer?
- 18. Test des modifications non validées de mercurial
- 19. Génération diff basée sur les versions
- 20. Mercurial: Obtenir l'ensemble de modifications en cours d'un fichier particulier
- 21. Comment calculer le temps écoulé entre deux demandes consécutives?
- 22. Comment obtenir la taille de fichier non compressé d'un fichier MP3 en utilisant CoreAudio API
- 23. Mercurial: Rétablir un seul morceau
- 24. Comment faire pour diff Valeurs de propriété de deux objets en utilisant GetType GetValue?
- 25. Comment afficher le diff mercurial entre local et référentiel?
- 26. fichier texte divisé en deux en utilisant un script bash
- 27. Mercurial: Obtenir une copie non-versionnée d'une version antérieure d'un fichier
- 28. Test d'unité utilisant diff
- 29. TortoiseHg: Poussez Direction
- 30. En utilisant hg Revert de Mercurial
Ce n'est pas mauvais mais le processus est plutôt long. Disons que je veux voir les changements récents pour class1.cs et comparer les versions. Je dois: 1) Utiliser la boîte de filtre pour trouver les changesets qui impliquent class1.cs 2) Cliquer sur un changeset 3) Localiser un autre changeset et faire un clic droit "Diff visuel avec Selected" 4) Localiser class1.cs dans la fenêtre Visual Diffs être 150 fichiers répertoriés ici et ils ne sont pas triés). 5) Double-cliquez sur class1.cs pour ouvrir le diff visuel. L'étape 4 est vraiment douloureuse. Y a-t-il un moyen plus rapide de faire cela? – Sylvain
J'ai édité ma réponse, voir ci-dessus! –
Oui, c'est exactement ce dont j'ai besoin. Notez que la réponse de @Paul Nathan fonctionne plutôt bien. J'attendrai jusqu'à demain pour accepter votre réponse au cas où quelqu'un posterait une réponse encore plus simple. – Sylvain