Comparateur de texte (diff)
Comparez deux textes ou extraits de code ligne par ligne. Les lignes ajoutées, supprimées et modifiées sont surlignées, jusqu’aux mots exacts qui diffèrent.
Fonctionne dans le navigateurSans inscriptionAucun envoi de données
Comment utiliser : Comparateur de texte (diff)
- Collez le texte d’origine à gauche et le texte modifié à droite, ou ouvrez deux fichiers.
- La comparaison se met à jour pendant la saisie. Choisissez la vue Côte à côte ou Unifié.
- Cochez Ignorer les espaces, Ignorer la casse ou Ignorer les lignes vides pour masquer le bruit, comme une réindentation.
- Utilisez Masquer l’inchangé pour vous concentrer sur les changements, avec trois lignes de contexte autour de chacun.
- Cliquez sur Copier en patch ou Télécharger .diff pour obtenir un diff unifié standard applicable avec
git applyoupatch.
Comment fonctionne ce comparateur
L’outil découpe les deux entrées en lignes et exécute l’algorithme de différence de Myers, le même algorithme en O(ND) que celui de git diff et de GNU diff. Il trouve la plus courte suite d’insertions et de suppressions qui transforme l’original en texte modifié : le résultat montre donc le moins de lignes modifiées possible. Les lignes identiques au début et à la fin sont d’abord ignorées, ce qui rend quasi instantanée la comparaison de fichiers de plusieurs milliers de lignes.
Lorsqu’une ligne supprimée et une ligne ajoutée se suivent, elles sont associées en une ligne modifiée et comparées à nouveau mot par mot. Les mots qui ont réellement changé sont surlignés plus fortement, si bien qu’une variable renommée ou un nombre modifié ressort au milieu d’une longue ligne.
Vue côte à côte ou unifiée
La vue Côte à côte place l’original à gauche et la nouvelle version à droite, avec les numéros de ligne des deux. C’est la vue la plus simple pour relire de la prose, des fichiers de configuration et de petites modifications de code. La vue Unifiée entrelace les lignes supprimées (-) et ajoutées (+) dans une seule colonne, le format des outils de revue de code et des fichiers patch.
Format diff unifié (patch)
Le patch exporté suit le format diff -u : un en-tête ---/+++, puis des blocs (hunks) qui commencent par @@ -l,s +l,s @@, où l est le numéro de la première ligne et s le nombre de lignes du bloc dans chaque fichier. Chaque bloc inclut trois lignes de contexte inchangées, ce qui permet de l’appliquer avec patch -p0 ou git apply même si des lignes voisines ont bougé.
Quand utiliser les options d’exclusion
- Ignorer les espaces considère deux lignes comme égales si elles ne diffèrent que par des espaces ou des tabulations. Utile après une réindentation ou un passage des tabulations aux espaces.
- Ignorer la casse est pratique pour le SQL, le HTML et les fichiers de log, où les majuscules n’ont pas d’importance.
- Ignorer les lignes vides masque les lignes ajoutées ou supprimées uniquement pour l’espacement.