Guias de diff
Como a comparação de textos funciona, como ler o resultado e quando usar cada opção.
Como o diff encontra diferenças — LCS e o algoritmo de Myers
Uma explicação simples de como o diff encontra as diferenças entre dois textos: maior subsequência comum (LCS), script de edição, o algoritmo O(ND) de Myers e comparação por linha e por palavra.
02 · guide/diff-algorithmsMyers, Patience e Histogram — comparação de algoritmos de diff
Como funcionam as opções do --diff-algorithm do git diff (myers, minimal, patience, histogram) e por que os resultados diferem, com exemplos.
03 · guide/read-unified-diffComo ler um unified diff (patch) — guia para revisão de código
Leia passo a passo, com exemplos, os cabeçalhos --- +++ do git diff e de arquivos patch, os números do cabeçalho de hunk @@, as linhas de contexto, a marca No newline at end of file e os cabeçalhos estendidos diff --git.
04 · guide/whitespace-optionsDiferenças entre as opções de ignorar espaços — diff -b, -w, -B, -Z e os equivalentes no git
Compare com exemplos e com as opções do GNU diff e do git as diferenças exatas entre ignorar espaços no fim da linha, ignorar a quantidade de espaços (-b), ignorar todos os espaços (-w), ignorar linhas em branco (-B) e ignorar maiúsculas/minúsculas.
05 · guide/compare-documentsRevisão de documentos e comparação de contratos — como achar todas as diferenças entre duas versões
Passo a passo e dicas para comparar como texto o rascunho e a revisão de um documento, ou o contrato enviado e o devolvido: comparação por bloco e por caractere, limpeza das quebras de linha de PDF e checklist para contratos.
06 · guide/json-diffComo comparar JSON — ordenação de chaves e normalização
Como eliminar as falsas diferenças causadas por ordem das chaves, indentação e notação de números ao comparar dois JSON, além de ordem de arrays, inteiros grandes e a diferença para o JSON Patch.
07 · guide/line-endingsCaracteres de fim de linha (CRLF e LF) e diferenças invisíveis — quando todas as linhas aparecem alteradas
As causas de o diff mostrar todas as linhas diferentes quando os textos parecem iguais — quebras CRLF e LF, quebra de linha no fim do arquivo, BOM, tabulações e espaços, espaços especiais e normalização Unicode — e como resolvê-las.