{ }JSONKit.tools

Comparar YAML — diferenças entre dois arquivos

Compare dois documentos YAML pelo que eles significam, não por como estão escritos. Aspas, recuo, ordem das chaves e âncoras deixam de importar — só aparecem as diferenças reais.

YAML da esquerda

YAML da direita

Diferenças

–

Sobre esta ferramenta

Dois arquivos YAML podem parecer completamente diferentes e guardar dados idênticos: chaves reordenadas, escalares com ou sem aspas, uma lista em bloco reescrita em estilo de fluxo. É por isso que um diff por linhas de um manifesto ou de uma configuração de CI é tão frequentemente inútil. Esta página interpreta os dois lados e compara a estrutura resultante, então o que você vê é a diferença nos dados. Comentários e nomes de âncora desaparecem no caminho, porque nenhum dos dois sobrevive à interpretação.

Como usar

  1. 1Cole os dois documentos YAML nos painéis esquerdo e direito.
  2. 2Leia o resultado como Lado a lado, Árvore ou Lista, e use as setas para pular entre as mudanças.
  3. 3Ative Só mudanças para recolher tudo que ficou igual.

Perguntas frequentes

›Por que comparar YAML pela estrutura e não linha a linha?

Porque YAML tem muitas maneiras de escrever os mesmos dados. Escalares com ou sem aspas, estilo em bloco ou de fluxo, uma chave movida de posição, o recuo alterado — um diff de texto pinta tudo isso como mudança. Interpretar primeiro significa que só as diferenças reais são relatadas.

›Os comentários são comparados?

Não. Comentários não são dados e não sobrevivem à interpretação, então editar um não gera diferença. Se você precisa revisar comentários, use um diff de texto junto.

›E as âncoras e os aliases?

Eles são expandidos antes da comparação, então um valor escrito uma vez e referenciado duas vezes é comparado como o valor no qual ele se resolve. Mudar só o nome de uma âncora, portanto, não mostra nada.

›Posso comparar um arquivo YAML com um JSON?

Converta o lado JSON com a página JSON para YAML e cole os dois aqui — ou o contrário, e compare na página de comparar JSON. Por baixo é a mesma comparação.

›Isso serve para manifestos do Kubernetes?

Esse é o caso clássico. Comparar um manifesto renderizado com o que está no cluster é exatamente onde o ruído da ordem das chaves e das aspas torna um diff de texto inútil.