Pour comparer deux fichiers texte sur un Mac avant de combiner des modifications, faites d'abord des copies distinctes des deux versions, puis examinez leurs différences à l'aide de la commande diff du Terminal ou d'un outil de comparaison visuelle tel que Visual Studio Code ou BBEdit. La comparaison met en évidence les changements ; il vous reste ensuite à décider quelles modifications conserver et à enregistrer le résultat fusionné sous forme de nouveau fichier avant de l'avoir vérifié.
Préparer les deux versions
Placez les deux fichiers dans un endroit facile d'accès, comme le Bureau ou un dossier temporaire. Vérifiez lequel correspond à la version antérieure ou de base, et lequel contient les modifications les plus récentes. Si les deux fichiers ont été modifiés indépendamment, gardez à l'esprit qu'aucun des deux ne représente nécessairement la version finale appropriée.
Avant de procéder à la fusion, dupliquez les originaux dans le Finder ou utilisez l'option Fichier > Dupliquer dans une application compatible. Donnez aux copies des noms clairs, comme draft-original.txt, draft-edited.txt, et plus tard draft-merged.txt. Cela vous permettra de revenir en arrière si vous écrasez du contenu par erreur. Assurez-vous que les deux fichiers sont au format texte brut et que vous comparez bien la paire souhaitée ; les documents mis en forme peuvent comporter une structure qu'une comparaison en texte brut ne restitue pas.
Comparer des fichiers dans le Terminal avec diff
Pour une comparaison rapide en ligne de commande sous macOS, ouvrez le Terminal et tapez diff -u , en insérant un espace après la commande. Glissez-déposez le premier fichier depuis le Finder dans la fenêtre du Terminal, tapez un espace, glissez-déposez le deuxième fichier, puis appuyez sur Entrée. La commande compare le contenu des deux fichiers et affiche une différence unifiée avec le contexte environnant. Le premier chemin correspond à la version initiale ; le second est la version comparée à celle-ci. La page de manuel diff d’Apple documente la commande et son option de sortie unifiée.
diff -u /path/to/first.txt /path/to/second.txt
Dans la sortie affichée, les lignes commençant par - figurent dans le premier fichier mais pas dans le second ; les lignes commençant par + figurent dans le second mais pas dans le premier. Les lignes sans aucun de ces marqueurs correspondent au contexte. Un en-tête commençant par @@ indique la plage approximative de lignes de la section modifiée. Si le Terminal n'affiche aucune différence, les fichiers sont considérés comme identiques. Un résultat indiquant que les fichiers diffèrent sans afficher de lignes lisibles peut signifier que les fichiers d'entrée ne sont pas traités comme du texte ordinaire.
Cette sortie est une aide à la révision, pas un document fusionné. Ne collez pas les marqueurs de diff dans votre fichier final. Lisez chaque bloc modifié dans son contexte, choisissez ce qui doit figurer dans la version combinée, puis modifiez une copie dans un éditeur de texte et enregistrez-la sous un nouveau nom. Si les fichiers comportent de nombreuses modifications qui se chevauchent, un éditeur de diff visuel est généralement plus facile à exploiter.
Utiliser une comparaison visuelle pour faciliter la révision
Dans Visual Studio Code, ouvrez un premier fichier, puis utilisez la palette de commandes et choisissez Fichier : Comparer le fichier actif avec... pour sélectionner le second. Vous pouvez également, dans l'Explorateur, faire un clic droit sur un fichier et choisir Sélectionner pour comparer, puis faire un clic droit sur l'autre et choisir Comparer avec la sélection. VS Code affiche un éditeur de diff pour examiner les changements. Sa documentation décrit également comment comparer le fichier actif avec la version enregistrée ou le presse-papiers. Les instructions de comparaison de fichiers de Visual Studio Code répertorient ces options.
BBEdit propose une autre approche adaptée à Mac : choisissez Search > Find Differences, indiquez les deux fichiers dans la fenêtre de comparaison et lancez l'analyse. Son tableau comparatif actuel indique que la comparaison de fichiers et l'affichage des différences au niveau des caractères font partie de ses fonctionnalités. Le tableau comparatif des fonctionnalités de BBEdit détaille la fonction Find Differences disponible.
Quelle que soit l'application choisie, examinez la comparaison du début à la fin. Des blocs de texte similaires peuvent se décaler lorsque des lignes sont ajoutées ou supprimées ; ne partez donc pas du principe qu'une modification visuellement adjacente appartient au même changement. Vérifiez également la ponctuation, les lignes vides, l'orthographe et les sections répétées : de petites différences peuvent altérer le sens ou la mise en page.
Fusionner méthodiquement et vérifier le résultat enregistré
Passez en revue chaque modification et choisissez de conserver la première version, la deuxième ou une combinaison des deux. Lorsque les deux fichiers modifient la même phrase ou le même paragraphe, lisez les deux variantes dans le contexte du texte qui les entoure et tranchez vous-même. Une comparaison entre deux fichiers recense les différences ; elle ne peut pas déterminer laquelle des deux versions éditées indépendamment traduit l'intention finale souhaitée.
Enregistrez le texte combiné dans un troisième fichier. Rouvrez ensuite ce fichier enregistré et parcourez les zones modifiées. Si vous souhaitez vérifier qu'il correspond parfaitement à l'une des sources, comparez le résultat enregistré avec cette source à l'aide du même outil. Conservez les originaux jusqu'à ce que le résultat vous donne entière satisfaction.
Ce flux de travail s'applique à deux fichiers texte. Un diff visuel n'équivaut pas nécessairement à une fusion à trois voies (three-way merge) : lorsque deux personnes ont modifié une base commune, cette version de base peut également être requise pour faire la part des ajouts indépendants et des modifications contradictoires. Si les fichiers sont des documents en texte enrichi ou spécifiques à une application, utilisez les fonctions de comparaison ou de révision propres à cette application lorsqu'elles existent ; convertir ou exporter ces documents en texte brut risque de faire disparaître la mise en forme ou la structure.
Sources
DIFF(1) — Xcode’s man pages
Basic editing: Compare files — Visual Studio Code
BBEdit Comparison Chart — Bare Bones Software