Aller au contenu

Fusion de texte à trois voies et conflits

Collez le socle commun, votre version et la version reçue, puis cliquez sur Fusionner le texte. Les modifications indépendantes sont réunies et les retouches des mêmes lignes restent dans des marqueurs de conflit à vérifier avant de copier.

Fonctionne localement dans votre navigateur
1Socle commun2Fusionner le texte3Texte fusionné

Socle communBASE
Votre versionOURS
Version entranteTHEIRS
Texte fusionné
Détails du conflit

    Fusionner deux versions d’un texte sur un socle commun

    L’atelier compare trois blocs de texte brut ligne par ligne : le socle commun dont partent les deux versions, votre version et la version reçue. Une modification faite d’un seul côté passe dans le résultat ; quand les deux réécrivent la même zone, les deux variantes restent dans un bloc de conflit au lieu d’en choisir une.

    Le texte fusionné s’affiche à côté de trois compteurs et d’une liste de conflits qui indique la ligne de sortie et les lignes du socle de chaque conflit. La comparaison s’exécute dans la page, le texte ne quitte pas le navigateur, et Copier ou Télécharger amène le résultat à l’étape suivante.

    1. Collez le socle commun dans le premier panneau, votre version dans le deuxième et la version reçue dans le troisième. Les fins de ligne Windows (CRLF) et Unix sont lues, et les fichiers longs se collent tels quels.
    2. Cliquez sur Fusionner le texte. Les modifications indépendantes sont déjà réunies dans le résultat et chaque retouche commune devient un bloc entre marqueurs de conflit.
    3. Lisez les compteurs sous le résultat — Conflits, Régions modifiées et Lignes — puis la liste Détails du conflit, qui donne la ligne de sortie de chaque conflit et les lignes du socle remplacées.
    4. Résolvez chaque bloc en modifiant le texte fusionné, ou changez une entrée et relancez la fusion. Effacer vide les trois panneaux, le résultat et les compteurs.
    5. Copiez le texte fusionné ou téléchargez-le en fichier .txt. Gardez Ignorer les espaces de fin lors de la comparaison coché tant que les différences d’indentation ne doivent pas compter comme des changements.

    Ce que contient le texte fusionné et où l’outil s’arrête

    Comment fonctionne la comparaison ligne à ligne

    Chaque version est comparée au socle par une différence de lignes fondée sur la plus longue sous-séquence commune. Les zones modifiées d’un seul côté viennent de ce côté ; celles que les deux modifient sont regroupées dans un seul bloc de conflit, pour que deux retouches voisines ne produisent pas deux marques concurrentes. Une modification identique des deux côtés, y compris la suppression des mêmes lignes, fusionne sans conflit.

    La comparaison se fait par lignes, pas par caractères : une ligne réécrite compte comme une ligne modifiée et les marqueurs sont insérés comme des lignes entières. Comme les deux versions sont comparées au même socle, les deux historiques n’ont pas besoin de se connaître.

    Marqueurs de conflit et les trois compteurs

    Un bloc de conflit commence par la ligne <<<<<<< YOUR VERSION, suivie de vos lignes, puis ||||||| COMMON BASE avec les lignes d’origine du socle, le séparateur =======, les lignes reçues et la ligne de fermeture >>>>>>> INCOMING VERSION. Tout ce qui est hors du bloc est déjà fusionné.

    Les compteurs ne mesurent pas la même chose : Conflits compte les blocs marqués, Régions modifiées les zones modifiées des deux comparaisons et Lignes les lignes du résultat. Un fichier de trois lignes modifié sur deux lignes différentes affiche deux régions modifiées, zéro conflit et trois lignes ; la même retouche sur une ligne que les deux touchent affiche un conflit et neuf lignes, car le bloc conserve votre ligne, la ligne du socle et la ligne reçue entre quatre lignes de marqueurs.

    Limites, traitement local et relecture

    La matrice de comparaison est construite dans le navigateur : la comparaison est refusée dès que le nombre de lignes du socle multiplié par celui de l’une des versions dépasse quatre millions de paires. Deux versions de 2 000 lignes contre un socle de 2 000 lignes fusionnent en une demi-seconde environ dans Chrome ; 2 010 lignes sont refusées avec un message, et le résultat précédent est effacé au lieu de rester affiché.

    La fusion n’envoie aucune requête réseau : l’outil fonctionne hors ligne et sur des textes qui ne doivent pas passer par un service tiers. Le résultat indique où les versions divergent, pas laquelle a raison : relisez chaque bloc de conflit avant d’intégrer le fichier à une compilation, une configuration ou un document.

    Outils récents :