Aperçu des capacités
Comment puis-je utiliser cli, git et ci dans Diff Anything ?
Sous Windows, la ligne de commande gratuite compare le texte, le JSON et les notebooks Jupyter, avec une sortie pour le terminal, un résumé ou du JSON. Pro débloque tous les types de comparaison, les rapports, l’application de patchs, les manifestes de lot avec sortie JUnit ou SARIF, le pilote de fusion et l’outil de fusion. git difftool et le pilote de diff de Git fonctionnent dès la version gratuite. La version du Mac App Store s’exécute dans l’App Sandbox d’Apple, qui la limite aux fichiers et dossiers que vous choisissez dans l’app ; la ligne de commande, Git et la CI sont donc décrits pour Windows. Avec Pro, --fail-on breaking compte uniquement les changements de schéma d’API incompatibles ou non classés.
La version Microsoft Store sur Windows fournit la commande diff-anything.exe et est elle-même l’outil de fusion lancé par Git, Mercurial, Subversion, Perforce et TFVC. La version Mac App Store s’exécute dans App Sandbox d’Apple, ce qui la limite aux fichiers et dossiers que vous choisissez dans l’application. L’utilisation de la ligne de commande, de Git et de CI est donc décrite pour Windows ; sur un Mac, ouvrez un fichier en conflit dans l’application pour le résoudre.

Exécution du CLI
L’application installée est également l’outil de ligne de commande
Démarrez l’exécutable Diff Anything avec --cli suivi de deux chemins, ou laissez Git l’exécuter en tant que pilote de comparaison. Sur Windows, le package Microsoft Store fournit une commande diff-anything.exe. Utilisez --mode pour choisir l’un des auto, text, json, yaml, toml, ini, plist, xml, csv, env, http, api, notebook, sqlite, dossier, archive, document ou binaire, et placez -- avant les noms de fichiers commençant par un tiret. --help répertorie toutes les options et --version imprime la version installée.
Trois formats de sortie sont disponibles. terminal affiche la comparaison avec coloration syntaxique et numéros de ligne ; --color auto, always ou never contrôle les couleurs. summary fournit un bref décompte et json le résultat complet pour les scripts. Par défaut, un terminal interactif utilise terminal et une sortie redirigée utilise summary.
Avec --exit-code, la commande renvoie 1 lorsque des différences sont trouvées et 0 lorsqu’il n’y en a pas. Une entrée invalide renvoie 2.
Gratuit et Pro
Ce qui fonctionne avec le forfait gratuit
La ligne de commande gratuite compare les fichiers de notebook texte, JSON et Jupyter jusqu’à 5 Mo par côté, et chaque exécution compte dans les 10 nouvelles sessions de comparaison par jour. D’autres modes, y compris une exécution automatique qui passe à un autre mode, signalent qu’ils sont inclus avec Pro.
Pro déverrouille tous les modes, les manifestes par lots et l’outil de fusion Git. La ligne de commande utilise le déverrouillage Pro enregistré par l’application de bureau pour le même compte utilisateur, alors ouvrez l’application une fois sur cet ordinateur pour acheter ou restaurer Pro.
Git
Utilisation comme outil de comparaison, pilote de fusion et outil de fusion de Git
Exécutez l’exécutable avec --cli --integration-help pour imprimer les paramètres Git prêts à l’emploi. Pour afficher les modifications, définissez diff.tool sur diff-anything et difftool.diff-anything.cmd pour appeler l’application avec --cli --format terminal --color auto "$LOCAL" "$REMOTE". git difftool affiche ensuite chaque fichier modifié en surbrillance. Pour que git diff lui-même utilise l’application pour les types de fichiers choisis, définissez diff.diff-anything.command et attribuez le pilote dans .gitattributes, par exemple *.json diff=diff-anything ; laissez --exit-code en dehors.
Avec Pro, le pilote de fusion fusionne les fichiers que vous lui attribuez avec merge=diff-anything : les fichiers JSON, YAML, TOML et INI par leurs données, les autres textes par lignes, renvoyant 1 tant que les conflits subsistent. Définissez merge.tool sur diff-anything et mergetool.diff-anything.cmd sur diff-anything --merge-tool "$BASE" "$LOCAL" "$REMOTE" "$MERGED", et git mergetool ouvre chaque fichier en conflit dans la fenêtre de fusion de Diff Anything. Save & Close écrit le résultat et indique à Git que le fichier est résolu ; Annuler le laisse tel que Git l’a écrit.
Lot et CI
Exécution de plusieurs comparaisons dans une seule tâche (Pro)
Un manifeste de lots est un fichier YAML ou JSON avec une liste de comparaisons. Chaque entrée a un chemin gauche et droit, et éventuellement un nom, un mode et failOn :break pour les cas de schéma API, qui échouent ensuite uniquement en cas de rupture ou de modifications non classifiées. Exécutez-le avec --batch et choisissez --format summary, json, junit ou sarif. Un manifeste peut mélanger des modes, par exemple une vérification de configuration JSON, une comparaison de dossiers d’une sortie de build et une vérification binaire d’un programme d’installation. Les cas modifiés et les cas qui n’ont pas pu être lus sont comptés séparément, et la commande renvoie 1 si un cas échoue à sa vérification failOn ou n’a pas pu être comparé.
La sortie JUnit signale les cas d’échec comme des échecs et lit les problèmes comme des erreurs, que la plupart des systèmes CI affichent comme résultats de test ; pour les cas API, il répertorie les modifications incompatibles avec leurs codes de règle. La sortie SARIF rapporte chaque résultat API sous son code de règle, ainsi que chaque cas modifié ou échoué par rapport à son fichier de droite. Écrivez l’un ou l’autre rapport avec --output FILE. Chaque cas utilise la comparaison par défaut de son mode, car les règles définies dans l’application ne sont pas lues par la ligne de commande. Le même manifeste peut être ouvert, modifié et exécuté dans l’application sous Outils, Manifeste par lots.
Dans le workflow
Comment l’utiliser
Rechercher la commande
Sur Windows, utilisez diff-anything.exe. Vérifiez-le avec --cli --version.
Essayez une comparaison
Comparez deux fichiers avec --format terminal, puis ajoutez --exit-code pour une utilisation dans un script.
Connectez Git
Copiez les paramètres de --integration-help et exécutez git difftool lors de votre prochaine modification.
Automatisez avec un manifeste
Avec Pro, répertoriez vos comparaisons dans un manifeste et exécutez --batch avec la sortie JUnit ou SARIF.
Utile en pratique
Quand l’utiliser
Manuel associé
Utiliser Diff Anything en ligne de commande, avec Git et en CI
Sous Windows, lancer des comparaisons reproductibles, comprendre les codes de sortie, intégrer Git et produire des résultats lisibles par une machine pour la CI.
Lire le guideRéponses directes
Questions sur cli, git et ci.
Quels codes de sortie utilise-t-il ?
Avec --exit-code, 0 signifie aucune différence et 1 signifie que des différences ont été trouvées. Une entrée invalide renvoie 2. Une exécution par lots se termine avec 1 dès que l’un de ses cas a changé ou n’a pas pu être lu.
Pourquoi ma comparaison YAML échoue-t-elle avec le forfait gratuit ?
Sur le forfait gratuit, seuls les modes texte, json et notebook s’exécutent à partir de la ligne de commande. YAML et tous les autres modes nécessitent Pro.
Puis-je utiliser Diff Anything comme outil de fusion de Git sur un Mac ?
Pas avec la version Mac App Store, qui s’exécute dans l’App Sandbox d’Apple et ne peut pas lire les noms des fichiers Git. Ouvrez le fichier en conflit dans l’application et choisissez plutôt Résoudre. Sur Windows, la version Microsoft Store est l’outil de fusion.
La ligne de commande utilise-t-elle les règles que j’ai définies dans l’application ?
Non. Il utilise la comparaison par défaut de chaque mode. Enregistrez les règles dans un profil et ouvrez-le dans l’application lorsque vous en avez besoin.
Comment la ligne de commande sait-elle que j’ai Pro ?
Il lit le déverrouillage Pro stocké par l’application de bureau pour le même utilisateur. Achetez ou restaurez d’abord Pro dans l’application sur cet ordinateur.
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.