Fusion de texte

Une fusion de texte combine les changements de deux versions d’un fichier dans un resultat editable unique. Un conflit survient lorsque deux changements sont incompatibles et qu’une decision est necessaire.

Disposition

Cet ecran affiche trois versions du meme fichier.

Fusion de texte avec lignes d’insertion vides

Il existe deux dispositions de fusion :

Pour passer de l’une a l’autre, utilisez le menu Presentation ou le controle segmente en haut a droite.

Base

Il existe aussi une quatrieme version : la base. C’est la version d’origine dont les deux cotes sont partis. Cela correspond au modele de fusion a trois voies de Git :

Local → Base ← Remote
          ↓
        Result

Dans ABDiff, le volet central peut basculer entre Resultat et Base pour vous aider a mieux comprendre ce qui a change.

Qu’est-ce qu’un conflit ?

Un conflit se produit quand les deux cotes modifient les memes lignes de maniere differente. Par exemple, la valeur d’origine etait “blue”, mais un cote dit maintenant “green” et l’autre “red”. Git ne peut pas determiner quelle modification est correcte, il demande donc une resolution manuelle.

Changements incompatibles

Cela arrive lorsque deux personnes modifient les memes lignes en meme temps. Si les changements ne se chevauchent pas, Git les fusionne automatiquement. S’ils se chevauchent, vous devez resoudre le conflit manuellement.

Resoudre un conflit

Si vous avez configure Git, ABDiff se lance lorsque Git detecte un conflit. La zone de resultat reste non resolue, et votre travail consiste a definir son contenu. Vous avez trois options :

Cliquez avec le bouton droit sur n’importe quelle ligne pour voir les actions disponibles

Conseils :

Marquer comme resolu

Quand vous avez termine, enregistrez le fichier (Fichier ▸ Enregistrer ou ⌘S). Cela indique a Git que le conflit a ete resolu.

Si vous ne souhaitez pas resoudre le conflit, fermez simplement le fichier sans l’enregistrer.

Edition et navigation

Action Raccourci
Ligne precedente / suivante ↑ / ↓
Volet precedent / suivant ← / →
Aller a la premiere / derniere ligne ⌘↑ / ⌘↓
Changement precedent / suivant ⌥↑ / ⌥↓
Bloc precedent / suivant ⌥↑ / ⌥↓
Passer a un autre volet

Copier

Action Raccourci
Copier la selection vers le resultat ⌘← ⌘→
Etendre la selection ⇧↑ / ⇧↓
Resoudre avec notre version / leur version ⇧⌘→ / ⇧⌘←

Une ligne selectionnee est affichee avec un rectangle gris. Un bloc est un bloc continu de conflit ou de changement. Les actions de copie ne sont actives que si elles modifieraient le volet Resultat et si la selection se trouve sur une vraie ligne. Un clic Maj sur une ligne etend egalement la selection actuelle dans le meme volet.

Pour copier des changements :

Toutes les actions de copie peuvent etre annulees avec ⌘Z.

Edition

Action Raccourci
Commencer a modifier la ligne de resultat selectionnee Return
Commencer directement a modifier une ligne de resultat Double-clic sur la ligne
Confirmer et passer a la ligne editable suivante Return (pendant l’edition)
Confirmer et quitter le mode edition Command-Return
Abandonner le tampon de la ligne courante et quitter le mode edition Esc ou Command-.

L’edition peut aussi commencer par un double-clic sur une ligne. Toutes les actions d’edition peuvent etre annulees avec ⌘Z.

Options d’affichage

La fusion de texte expose des options qui changent la facon dont la comparaison est calculee ou affichee. Elles sont disponibles dans le menu d’options.

Rubriques associees