Outil de comparaison YAML macOSWindows

Comparez la configuration YAML par structure

Comparez les fichiers YAML localement en tant que structure analysée avec des chemins stables, des valeurs saisies, les mêmes règles sémantiques que JSON, les états de révision et les profils enregistrés et rapports exportables Pro.

Réponse directe

Diff Anything peut-il comparer sémantiquement YAML ?

Diff Anything analyse YAML dans une comparaison structurée plutôt que de traiter l’indentation et l’ordre des clés comme le résultat global. Les règles sémantiques JSON fonctionnent également dans YAML : ignorez les chemins, les listes à clé ou non ordonnées, les règles de casse et la tolérance numérique, et les profils Pro les enregistrent. Avec Pro sur Windows, le CLI compare également le YAML.

Diff Anything comparant deux fichiers JSON, avec des enregistrements utilisateur correspondant par identifiant et une valeur de rôle modifiée sélectionnée
Le mode sémantique répertorie les chemins et les valeurs modifiés. Ici, une règle de comparaison par identifiant correspond aux enregistrements utilisateur, donc une liste réorganisée affiche uniquement les changements réels. Afficher en taille réelle

analysé YAML

Comparez les données décrites par le YAML, et non leur présentation.

La même configuration YAML peut être écrite avec une indentation, des guillemets, un ordre de clé et des commentaires différents. Un texte différent rapporte tout cela. Diff Anything lit les deux fichiers en tant que données, donc déplacer une clé, réindenter un bloc ou modifier un commentaire ne produit aucune différence.

Les modifications sont répertoriées avec leur emplacement, par exemple $.spec.template.spec.containers[0].image. Une valeur qui change de type, telle qu’un nombre remplacé par une chaîne entre guillemets, est signalée comme un changement de type.

Les listes d’enregistrements avec un champ id, _id, uuid ou clé unique sont appariées par ce champ, comme dans JSON. D’autres listes sont comparées par position ; lorsqu’une liste contient les mêmes éléments dans un ordre différent, le résultat indique une réorganisation au lieu d’une modification de chaque élément.

Caractéristiques du YAML

Ancres, balises et documents multiples.

Les ancres et les alias sont résolus avant la comparaison, vous voyez donc les valeurs produites par chaque côté, avec un avertissement indiquant que le formatage d’origine n’a pas été conservé. Les clés de fusion (<<) sont appliquées, donc le mappage fusionné est ce qui est comparé.

Un fichier comportant plusieurs documents séparés par --- est comparé document par document, comme $[0], $[1] et ainsi de suite. Les balises ne sont pas comparées en tant que valeurs ; chacun est répertorié comme un avertissement, et une balise qu’un seul fichier possède compte comme une différence.

YAML contre JSON

Vérifiez directement une conversion de format.

Ouvrez un fichier JSON d’un côté et un fichier YAML de l’autre, et Auto les compare comme YAML, avec les mêmes règles sémantiques. C’est un moyen rapide de confirmer qu’une configuration convertie entre les deux formats contient toujours les mêmes valeurs. Les fichiers TOML, INI et de liste de propriétés se comparent de la même manière à YAML ou JSON.

La vue sémantique répertorie chaque différence. La vue brute affiche les deux côtés sous la forme JSON normalisée, ce qui est utile lorsque vous souhaitez lire les valeurs analysées les unes à côté des autres.

Règles et limites

Utilisez les règles JSON sur YAML et sachez quelles modifications s’appliquent.

Ouvrez les règles sémantiques pour utiliser les mêmes règles que le mode JSON : Ignorer les chemins, Chemins de tableau non ordonnés, Ignorer la casse au niveau des chemins, Clés de tableau et Tolérance numérique, plus règles recommandées en un clic. Dans un fichier contenant plusieurs documents, les chemins des règles commencent par la position du document, par exemple $[1].build. Un fichier qui répète une clé est signalé comme une erreur au lieu d’être comparé.

La copie d’une modification dans un fichier YAML réécrit ce fichier à partir de ses données. La confirmation l’indique avant que quoi que ce soit ne change : les valeurs, les balises et les documents sont conservés, mais les commentaires et la mise en page ne le sont pas, et les ancres sont écrites sous forme de valeurs simples. Un fichier qui ne peut pas être réécrit sans perdre de données est refusé.

Sur le forfait gratuit, YAML affiche son résultat complet dans l’application, dans la limite de 5 Mo par fichier et 10 comparaisons par jour. YAML à partir de la ligne de commande nécessite Pro.

Idéal pour

Où s’inscrit ce flux de travail.

  • Kubernetes, CI et configuration d’application reformatée ou réorganisée
  • Vérification d’un fichier YAML par rapport au JSON à partir duquel il a été converti, ou inversement
  • Fichiers multidocuments YAML combinant plusieurs ressources

Aucun compte, service de comparaison cloud, analyse ou télémétrie.

Capacités pertinentes

Ce que Diff Anything apporte au travail.

Flux de travail pratique

De la configuration à un résultat révisé.

  1. Ouvrir les deux fichiers YAML

    Choisissez la configuration actuelle et précédente, ou mettez la source JSON de côté.

  2. Lire la liste sémantique

    Commencez par la liste des valeurs ajoutées, supprimées, modifiées et de type modifié et leurs chemins.

  3. Vérifiez les avertissements

    Recherchez les avertissements concernant les ancres résolues ou les balises ignorées, ainsi que les listes signalées comme réorganisées.

  4. Appliquer avec précaution

    Copiez une modification uniquement après avoir lu la confirmation, car le fichier cible est réécrit sans ses commentaires ni ses ancres.

Utile en pratique

Réponses directes

Questions sur l’outil de comparaison YAML.

Diff Anything peut-il comparer sémantiquement YAML ?

Diff Anything analyse YAML dans une comparaison structurée plutôt que de traiter l’indentation et l’ordre des clés comme le résultat global. Les règles sémantiques JSON fonctionnent également dans YAML : ignorez les chemins, les listes à clé ou non ordonnées, les règles de casse et la tolérance numérique, et les profils Pro les enregistrent. Avec Pro sur Windows, le CLI compare également le YAML.

La comparaison YAML ignore-t-elle les commentaires et l’indentation ?

Oui. Les commentaires et la mise en page ne font pas partie des données analysées, leur modification ne crée donc aucune différence.

Puis-je comparer un fichier YAML multi-documents ?

Oui. Les documents séparés par --- sont comparés dans l’ordre, avec des emplacements tels que $[0] et $[1].

Les ancres et les alias sont-ils comparés tels qu’ils sont écrits ?

Non. Les alias sont résolus et les clés de fusion (<<) sont appliquées en premier, de sorte que la comparaison montre les valeurs produites par chaque fichier.

Puis-je ignorer un champ dans une comparaison YAML ?

Oui. Ajoutez son chemin sous Ignorer les chemins dans les règles sémantiques, par exemple $.metadata.annotations. YAML utilise les mêmes règles que JSON et les profils Pro les enregistrent pour l’exécution suivante.

Aller plus loin

Choisir les sources, comprendre la détection automatique et prendre le type de comparaison qui répond à votre question.

Lire Choisir le bon type de comparaison
Gratuit & Pro : ce qui est inclus

Disponible sur le Mac App Store et le Microsoft Store. L’utilisation de la version gratuite de l’app vous permet d’essayer tous les moteurs de comparaison pour des fichiers jusqu’à 5 Mo par côté et 10 nouvelles sessions de comparaison par jour local ; les aperçus de collection affichent les 100 premiers éléments, les comparaisons binaires les 100 premiers octets de différences et les aperçus PDF des 3 premières pages. La comparaison du texte brut, des notebooks JSON et Jupyter est complète et l’ouverture de fichiers à partir du Finder ou de l’Explorateur de fichiers, des liens diffanything:// et AppleScript est gratuite. La CLI gratuite prend en charge le texte, JSON et les notebooks. Un achat Pro unique supprime les limites d’aperçu et de session et déverrouille des sources plus volumineuses dans les limites techniques, les profils et l’historique enregistrés, l’enregistrement des instantanés de dossiers, l’exportation et l’impression de rapports, l’exportation de correctifs JSON, l’application de correctifs, la fusion à trois voies et la résolution des conflits, le pilote de fusion et l’outil de fusion Git, la synchronisation des dossiers, les manifestes par lots, les préprocesseurs de confiance et chaque mode CLI.

Plus Diff Anything

Parcourez tous les outils et flux de travail ciblés.

Voir tous les outils Diff Anything