Fichiers de texte
Lors de la comparaison de fichiers dans le mode texte, vous pouvez consulter le résultat de comparaison soit en format texte ou XML. Pour comprendre comment DiffDog Server rapporte les différences entre les fichiers texte, nous partons du principe que les deux fichiers texte ci-dessous doivent être comparés côte à côte.
apples peaches grape bananas strawberries | apples nuts peaches grapes bananas |
file1.txt | file2.txt |
Note : | Les fichiers utilisés dans cet exemple sont des fichiers de texte présentant une extension .txt ; néanmoins, ils peuvent être de type non binaire quelconque, comme par exemple .html, .json, .js, .cs, etc. |
Lors d'une comparaison avec un outil de différenciation graphique comme DiffDog, les différences entre les deux fichiers sont représentées comme ci-dessous. Comme vous pouvez le voir, il existe trois différences : une ligne a été ajoutée, une ligne a été modifiée et une ligne a été supprimée.
Rapport de comparaison DiffDog
Dans DiffDog Server, vous pouvez comparer ces deux fichiers avec la commande :
<exec> diff file1.txt file2.txt --mode=text --output-mode=text --output-file=report.txt |
Note : | L'option --mode instruit le programme de traiter les fichiers comparés en tant que texte (pas en tant que XML ou binaire). L'option --output-mode vous permet de spécifier le format du rapport de comparaison (texte ou XML). |
Dans le rapport de texte produit après avoir exécuté la comparaison, les différences sont rapportées comme suit :
1a2 > nuts 3c4 < grape --- > grapes 5d5 < strawberries |
Rapport de comparaison DiffDog Server (texte)
Dans le rapport ci-dessus, "a" indique un ajout, "c" indique une modification, et "d" indique une suppression. Le caractère ">" pointe vers le côté droit de la comparaison. "<" pointe vers le côté gauche de la comparaison. Les résultats peuvent être considérés comme des instructions à suivre afin de pouvoir rendre les deux fichiers égaux, concrètement :
•1a2 signifie "Après la ligne 1 dans le fichier de gauche, ajouter du texte pour le rendre égal avec la ligne 2 du fichier de droite". La ligne suivante montre le texte exact à ajouter, dans ce cas, le texte "nuts" du fichier de droite.
•3c4 signifie "Remplacer la ligne 3 du fichier de gauche avec la ligne 4 du fichier de droite". Les lignes suivantes montrent le contenu pertinent des deux fichiers, séparé par "---".
•5d5 signifie "Supprime la ligne 5 du fichier de gauche pour le rendre égal avec la ligne 5 du fichier de droite". La ligne suivante montre exactement le texte à effacer (dans ce cas, "strawberries").
Rapport XML
Vous pouvez aussi comparer ces mêmes fichiers et obtenir le rapport en tant que fichier XML, en exécutant la commande :
<exec> diff file1.txt file2.txt --mode=text --output-mode=xml --output-file=report.xml |
Si vous choisissez XML en tant que format de rapport, le même rapport sera représenté comme suit :
<?xml version="1.0" encoding="UTF-8"?> |
Rapport de comparaison DiffDog Server (XML)
Dans le rapport XML ci-dessus, vous trouverez un élément diff_info tout en haut. Cet élément diff_info fournit une information concernant des fichiers qui ont été comparés (y compris le mode de comparaison utilisé, et le chemin des fichiers comparés). Cet élément ne se produit qu'une seule fois. L'attribut comparison_mode indique quelle était la valeur de l'option --mode lors de l'exécution de la comparaison ; cela est également utile si vous souhaitez connaître le mode de comparaison par défaut utilisé par DiffDog Server lorsqu'aucune option --mode n'a été spécifiée dans la ligne de commande.
Ensuite, les mêmes trois différences sont recensées comme dans le rapport de texte. L'information concernant les différences impliquées est présentée avec l'aide des attributs left_location et right_location, alors que le contenu réel se trouve dans les éléments left_content ou right_content. Dans cet exemple, chaque emplacement est une ligne. Néanmoins, un emplacement n'est pas toujours une seule ligne ; il peut consister en plusieurs lignes dans certains cas. Dans ces cas, vous constaterez la présence de plusieurs éléments line consécutifs dans le rapport.