Subversion, Git, Mercurial et d’autres prennent en charge les fusions tridirectionnelles (combinant le mien, le leur et la révision "de base") et prennent en charge des outils graphiques permettant de résoudre les conflits.
Quel outil utilisez-vous? Windows, Mac OS X, Linux, gratuit ou commercial, vous le nommez.
En voici quelques-unes que j'ai utilisées ou dont j'ai entendu parler, juste pour lancer la conversation:
(Je reconnais que c'est un peu comme Meilleur outil de diff , mais c'est différent en ce sens que je me concentre explicitement sur les outils de fusion à trois voies; WinMerge est en dehors de la liste, car exemple.)
KDiff open source, multiplateforme
Même interface pour Linux et Windows, algorithme très intelligent pour la résolution des conflits, expressions régulières pour la résolution automatique des conflits, intégration à ClearCase, SVN, Git, MS Visual Studio, fichier fusionné éditable, répertoires de comparaison
Sa navigation au clavier est excellente: ctrl-flèches pour naviguer dans les diffs, ctrl-1, 2, 3 pour faire la fusion.
Voir aussi https://stackoverflow.com/a/2434482/4247
Je viens de vérifier P4merge depuis que j'en ai entendu parler dans un autre article de blog:
Interface très lisse, et GRATUIT! Je suis un utilisateur fidèle d'Araxis Merge, mais vu que c'est gratuit et génial, je vous encourage à le consulter.
Beyond Compare 3 Pro prend en charge fusion à trois voies , et il s’agit d’un outil de fusion assez impressionnant. C'est commercial (mais ça vaut la peine, à mon humble avis) et il est disponible sous Windows, Linux et Mac OS X.
Comme indiqué dans un commentaire, il est également peu coûteux.
Remarque: Si aucun groupe de fusion n'est défini, c'est-à-dire, fusionner les marqueurs résidant dans le fichier de destination, Beyond Compare n'offre pas de comparaison/édition de fichier à trois voies. Au-delà de la comparaison indique que cette fonctionnalité est sur leur liste .
Remarque: la fusion à 3 voies est une fonctionnalité de l'édition Pro de Beyond Compare 3 uniquement.
Je n'ai eu que de bonnes expériences de travail avec Meld. Je l'utilise quand je dois faire des fusions de code en désordre entre les branches. Il est simple à utiliser et possède une interface épurée.
Dans Ubuntu, l’installation est aussi simple que: Sudo apt-get install meld
vimdiff. C'est bien. Tout ce dont vous avez besoin est une fenêtre de trois pieds de large.
Multiplate-forme, véritables fusions à trois voies et c'est totalement gratuit pour un usage commercial ou personnel.
Fusion d'Araxis . C'est commercial, mais ça en vaut vraiment la peine ... Il est disponible pour Windows et Mac OS X.
L'algorithme de résolution de conflit Kdiff3 est vraiment impressionnant.
Même lorsque Subversion indique un conflit, Kdiff3 le résout automatiquement. Il existe des versions pour Windows et Linux avec la même interface. Il est possible de l’intégrer à Tortoise et à votre shell Linux.
C'est dans la liste de mes logiciels open source préférés. L'un des premiers outils que j'installe sur n'importe quelle machine.
Vous pouvez le configurer comme outil de différenciation par défaut dans Subversion, Git, Mercurial et ClearCase. Il résout également presque tous les conflits ClearCase. Sous Windows, l’intégration de Nice à l’Explorateur Windows est simple: sélectionnez deux fichiers et effectuez un clic droit pour les comparer, ou cliquez avec le bouton droit de la souris pour "enregistrer ultérieurement" un fichier, puis sélectionnez-en un autre à comparer.
Le fichier fusionné est éditable. A des raccourcis clavier lisses.
Vous pouvez également l'utiliser pour comparer et fusionner des répertoires. Voir:
Une fonctionnalité avancée consiste à utiliser des expressions régulières pour définir des fusions automatiques.
Mon seul ennui, c'est qu'il est un peu difficile à compiler s'il n'est pas présent dans votre dépôt de distro préféré.
J'aime Ediff . Il est livré avec GNU Emacs .
Pour créer un diff à trois voies, utilisez ediff-files3
(pour sélectionner trois fichiers) ou ediff-buffer3
(pour sélectionner trois mémoires tampons déjà ouvertes). Vous obtiendrez un écran ressemblant à ceci:
Notez la différence de mots soulignée.
Vous pouvez appuyer sur n
ou p
pour accéder aux diffs précédents/précédents, tandis que ab
copiera la région du tampon a (le plus à gauche) vers le tampon b (celui du milieu), et de même pour d'autres combinaisons à deux lettres de a
, b
, c
; rb
restaurera la région dans le tampon b. Appuyez sur ?
pour un menu d’aide rapide, ou lisez le manuel détaillé sur la fusion de diff3 dans Emacs .
ltracompare . C’est vraiment bien, gère bien les gros fichiers (plus de 1 Go), est disponible pour Windows/Mac/Linux, et c’est commercial, mais cela en vaut la peine.
Diffuse est un outil de fusion à trois voies facile à utiliser. Il prend en charge toutes les plates-formes et systèmes de contrôle de version que vous avez mentionnés, et peut comparer plus de trois fichiers simultanément.
xxdiff si vous êtes sous Linux.
Il y a quelque temps, j'ai écrit une critique de certains outils de fusion qui pourrait être utile: http://www.misuse.org/science/2007/02/24/3-way-merging/
En résumé, j'ai trouvé qu'ECMerge était un excellent produit, bien que commercial. http://www.elliecomputing.com/products/merge_overview.asp
Je suis également d’accord avec M. Telly pour dire que Ultracompare est très bon. Une caractéristique intéressante de Nice est la possibilité de comparer les documents RTF et Word, ce qui est pratique lorsque vous programmez dans Word avec les vendeurs et que ceux-ci ne les gèrent pas correctement.