web-dev-qa-db-fra.com

Quel est le meilleur outil de fusion à trois voies?

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.)

256
Dan Fabulich

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

enter image description here

159
sotto

Je viens de vérifier P4merge depuis que j'en ai entendu parler dans un autre article de blog:

enter image description here

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.

103
Dan Esparza

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.

Enter image description here

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.

94
Joshua McKinnon

Meld Diff Viewer

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.

  • Open source
  • Linux, Windows et MacOS pris en charge
  • Diff multiple de fichiers
  • Support de comparaison à trois

Dans Ubuntu, l’installation est aussi simple que: Sudo apt-get install meld

enter image description here

73
Elijah

vimdiff. C'est bien. Tout ce dont vous avez besoin est une fenêtre de trois pieds de large.

enter image description here

42
Paul Beckingham

Fusion Source Diff Merge :

Multiplate-forme, véritables fusions à trois voies et c'est totalement gratuit pour un usage commercial ou personnel.

enter image description here

37
CMS

Fusion d'Araxis . C'est commercial, mais ça en vaut vraiment la peine ... Il est disponible pour Windows et Mac OS X.

Enter image description here

31
Dave

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: Kdiff3 Comparing directories

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é.

27
neves

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:

three-way diff in emacs

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 .

13
jcrossley3

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.

Screen shot of UltraCompare Professional on Windows

11
MrTelly

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.

enter image description here

11
Derrick Moser

xxdiff si vous êtes sous Linux.

Enter image description here

6
Mark Harrison

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

enter image description here

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.

3
Steve Midgley