Comparação de ferramentas de comparação de arquivos - Comparison of file comparison tools

Este artigo compara ferramentas de software de computador usadas para realizar comparações de arquivos de vários tipos. Os tipos de arquivo endereçados por aplicativos de comparação de arquivos individuais variam, mas podem incluir texto, símbolos, imagens, áudio ou vídeo. Esta categoria de ferramenta de software é freqüentemente chamada de "comparação de arquivos" ou "ferramenta de comparação", mas esses são efetivamente termos equivalentes - onde o termo "comparação" é mais comumente associado ao utilitário Unix . diff

Um caso rudimentar típico é a comparação de um arquivo com outro. No entanto, também pode incluir comparações entre duas populações de arquivos, como no caso de comparação de diretórios ou pastas , como parte do gerenciamento de arquivos . Por exemplo, isso pode ser para detectar problemas com versões de backup corrompidas de uma coleção de arquivos ... ou para validar se um pacote de arquivos está em conformidade com os padrões antes da publicação.

Observe que as comparações devem ser feitas entre o mesmo tipo de arquivo. Ou seja, um arquivo de texto não pode ser comparado a uma imagem que contém texto, a menos que um processo de leitor óptico de caracteres (OCR) seja feito primeiro para extrair o texto. Da mesma forma, o texto não pode ser comparado a palavras faladas, a menos que as palavras faladas primeiro sejam transcritas em texto. Além disso, o texto em um idioma não pode ser comparado ao texto em outro, a menos que um seja traduzido para o idioma do outro.

Uma consideração crítica é como os dois arquivos que estão sendo comparados devem ser substancialmente semelhantes e, portanto, não radicalmente diferentes. Mesmo revisões diferentes do mesmo documento - se houver muitas alterações devido a adições, remoções ou movimentação de conteúdo - podem tornar as comparações de alterações de arquivo muito difíceis de interpretar. Isso sugere salvamentos de versão frequentes de um documento crítico, para facilitar melhor a comparação de arquivos.

Uma ferramenta de comparação de arquivos "diff" é um utilitário vital para economizar tempo e trabalho, porque ajuda a realizar comparações tediosas. Portanto, é uma parte vital dos processos exigentes de comparação empregados por indivíduos, acadêmicos, área jurídica, campo forense e outros empreendimentos profissionais - identificar as diferenças às vezes difíceis de detectar, necessárias para a detecção.

Esses usos incluem:

  • Revisões de textos, planos ou desenhos.
  • Edite as mudanças na mídia.
  • Omissão de crédito para citações, citações, extratos ou exemplares.
  • Plágio.
  • Alteração de documentos legais.
  • Fraude .
  • Falsificação .
  • Fakery, ou " deepfake " para personificar.
  • Disputas sobre propriedade ou crédito para esforços cooperativos.
  • Cronologia de evolução de um projeto ou esforço.
  • Detecte a esteganografia (a prática de ocultar dados à vista de todos).
  • Descubra a remoção de marcas d'água .
  • Desfiguração intencional .
  • Identificação de graffiti , tatuagem ou outra marca cultural com um estilo exclusivo.
  • Danos acidentais ou não intencionais.
  • Mudanças na saúde do ser vivo.
  • Avaliação do risco de propagação de danos estruturais.
  • Avaliação para restauração.
  • Degradação devido aos efeitos da exposição ambiental ao longo do tempo, incluindo entropia natural (declínio ao longo do tempo):
    • Oxidação.
    • Exposição à chuva.
    • Abrasão por areia movida pelo vento.
    • Intemperismo devido a mudanças ambientais na temperatura, como causadas por ciclos de congelamento e descongelamento.
    • Pigmentos fugitivos (ou seja, não permanentes) em pinturas ou materiais impressos por exposição à luz ultravioleta.
    • A exposição à vibração, como processos industriais, é proveniente do tráfego de veículos.

Em geral

Informações gerais básicas sobre o software de comparação de arquivos .

Nome O Criador FOSS Sem custos Primeira data de lançamento ao público Ano da última versão estável janelas Macintosh Linux Outras plataformas Tamanho máximo de arquivo suportado
Sem comparação Software de scooter Não; Proprietário Não 1996 2021-08-13 (v4.4) sim sim sim > 2 GB (64 bits)
Compare ++ Software Coode Não; Proprietário Não 2010 2016-7-17 (3.0.1.0b) sim Não Não
diff , diff3 AT&T Sim; BSD 3-cláusula , BSD 4-cláusula , CDDL , GPL, Proprietary sim 1974 Não Sim ( Mac OS X ) sim portado para a maioria das plataformas como parte do SCCS > 2 GB, mas menos de 64 bits
Eclipse (compare) Sim; Licença Pública Eclipse sim 21/07/2004 28/09/2016 (4.6.1 (Neon.1)) sim sim sim Qualquer coisa com Java
Ediff Michael Kifer Sim; GPL sim 1994 2,81,4 sim Sim ( Mac OS X ) sim Qualquer coisa com Emacs e diff
ExamDiff Pro PrestoSoft Não; Proprietário Não 1998 2020-12-10 (v 11.0.1.11) Sim ( Win98 e superior) Não Não
Far Manager (compare) Eugene Roshal (original); Grupo FAR Sim; Licença BSD revisada sim 1996 12-11-2020 (v3.0 compilação 5700) sim Não Não
fc Microsoft Não; Proprietário Sim; Parte do sistema operacional 1987 Sim (DOS) Não Não
FileMerge (também conhecido como opendiff) Apple Inc. Não; Proprietário Sim; (parte das ferramentas de desenvolvedor da Apple ) 1993 (parte do NEXTSTEP 3.2) 2014 (v2.8) Não Sim (Mac OS X) Não
FreeFileSync Zenju Sim; GPLv3 sim 2008 04-12-2020 (v11.4) sim sim sim
Guiffy SureMerge Software Guiffy Não; Proprietário Não 2000 2021-04-06 (v11.14) sim sim sim Qualquer coisa com Java > 2GB
IntelliJ IDEA (compare) JetBrains Não; Proprietário Não 2001 20/08/2019 (01/02/2019) sim sim sim
plugin jEdit JDiff Vários Sim; GPL sim 1998 03-09-2020 (5.6.0) sim sim sim Qualquer coisa com Java
Kompare Otto Bruggeman Sim; GPLv2 + sim 2021-10-07 (4.1.21082) sim Sim (Mac OS X) sim
Lazarus Diff Lazarus (software) Sim; GPL sim 2000 2020-07-11 (2.0.10) sim sim sim FreeBSD
Meld Stephen Kennedy Sim; GPLv2 + sim 2002 2020-02-16 (3.20.2) sim sim sim BSD , Solaris
Notepad ++ (compare) Vários Sim; GPLv3 sim 2009 06-01-2015 (1.5.6.6) sim Não Não
Perforce P4Merge Perforce Não; Proprietário sim 2019 (2019.1 / 1815056) sim sim sim Sun Solaris
Pretty Diff Austin Cheney Sim; Compatível com MIT sim 2009 02/09/2019 (101.2.6) Sim ( web ) Sim ( web ) Sim ( web ) Node.js
Tkdiff Tkdiff Sim; GPLv2 + sim 2003 (ou antes) 2021-03-24 (v5.2.1) Sim ( Tcl ) Sim (Tcl) Sim (Tcl) Qualquer coisa com Tcl
Total Commander (compare) Christian Ghisler Não; Proprietário Não 2020-03-25 (v9.51) sim Não Não
twdiff (TextWrangler Diff Helper) Bare Bones Software, Inc. Não; Proprietário Sim; com TextWrangler 2012 (1.0 (v22)) Não sim Não Não
vimdiff Bram Moolenaar et al. Sim; Compatível com GPL sim 2001 03/10/2016 (v8.0.0022) sim sim sim Qualquer coisa com vim
WinDiff Microsoft Não; Proprietário Sim; Parte do SDK da plataforma 1992 14/05/2010 (v6.1.7716.0) sim Não Não Não
WinMerge Dean Grimm Sim; GPL sim 1998 2021-04-29 (v2.16.12) Sim ( Win95 e superior) Sim (no vinho) Sim (no vinho) 2 GB
UCC USC CSSE Não; Licença Pública Limitada USC-CSSE sim 2009 30/12/2015 (12/12/2015) sim sim Sim {2.6.9} Sun Solaris
Nome O Criador FOSS Sem custos Primeira data de lançamento ao público Ano da última versão estável janelas Macintosh Linux Outras plataformas Tamanho máximo de arquivo suportado

Compare recursos

Nome Mostrar mudanças in-line Comparação de diretório Comparação binária Movidas linhas Comparação de 3 vias Unir Comparação estruturada Alinhamento de comparação manual Comparar imagens
Sem comparação sim sim sim Não Sim (arquivos e pastas) Sim (apenas Pro) sim sim
Compare ++ sim sim sim sim Sim (C / C ++, C #, Java, Javascript, CSS3)
diferença Não sim parcialmente Não Não Não
diff3 Não Não Sim (não opcional)
Eclipse (compare) sim Não (apenas ancestral) sim Não
Ediff sim sim sim sim sim
ExamDiff Pro sim sim sim sim Sim (apenas ExamDiff Pro Master) sim sincronização manual
Far Manager (compare) Sim (via plugin) sim sim Sim (via plugin) Não Não
fc Não Não sim Não Não
FileMerge (também conhecido como opendiff) sim sim sim Sim (ancestral opcional) sim
Guiffy SureMerge sim sim sim sim sim sim sim
IntelliJ IDEA (compare) sim sim sim Não sim sim sim sim
plugin jEdit JDiff sim Não sim
Kompare sim Não Não sim
Lazarus Diff
Meld sim sim Não Não sim sim alinhamento de linha, desvincular rolagem
Notepad ++ (compare) sim Não Não sim Não Não Não
Perforce P4Merge sim Não Não sim sim sim
Pretty Diff sim sim Não Não Não Não sim Não
Tkdiff sim Não Não Não Não Não
Total Commander (compare) sim sim sim Não Não sim Não comparação de ressincronização Não
vimdiff sim Sim (via plugin DirDiff) sim sim
WinDiff sim sim sim sim Não Não
WinMerge sim sim sim sim sim sim sim sim
UCC sim sim sim sim Não sim
Nome Mostrar mudanças in-line Comparação de diretório Comparação binária Movidas linhas Comparação de 3 vias Unir Comparação estruturada Alinhamento de comparação manual Comparar imagens

Recursos de API / editor

Nome GUI CLI Scripting Horizontal vertical Realce de sintaxe Relatórios
Sem comparação sim sim sim Ambos sim XML, HTML, CSV, Texto, Unix Patch
Compare ++ sim sim Ambos sim HTML, texto (combinado ou lado a lado)
diferença Não sim Horizontal Sim, cano para realçar a diferença
diff3 Não sim Horizontal
Eclipse (compare) sim Vertical sim
Ediff sim sim Elisp Ambos sim
ExamDiff Pro sim sim opcional sim UNIX, HTML, Diff
Far Manager (compare) sim sim sim sim Não
fc Não sim Horizontal
FileMerge (também conhecido como opendiff) sim sim Vertical sim Não
Guiffy SureMerge sim sim API Java Ambos sim HTML, texto, patch Unix
IntelliJ IDEA (compare) sim sim Vertical sim
plugin jEdit JDiff sim Ambos sim
Kompare sim Vertical Não
Lazarus Diff sim sim
Meld sim Não sim Não
Notepad ++ (compare) sim sim Ambos sim Não
Perforce P4Merge sim sim Vertical sim Não
Pretty Diff sim sim JavaScript Ambos sim XHTML
Tkdiff sim
Total Commander (compare) sim Ambos Não Não
vimdiff sim sim script vim Ambos sim HTML
WinDiff sim sim Horizontal Não Texto
WinMerge sim sim Ambos sim CSV, delimitado por tabulação, HTML, XML
UCC sim sim Vertical sim Texto, CSV
Nome GUI CLI Scripting Horizontal vertical Realce de sintaxe Relatórios

Outras características

Algumas outras características que não se encaixavam na tabela anterior

Nome Suporte ZIP Suporte FTP Suporte SFTP Navegação de controle de versão Criação de patch Aplicação de patch Antevisão do patch Suporte Unicode Ciente de XML
Sem comparação sim sim sim SVN sim sim sim sim
Compare ++ SVN, CVS, Git, Microsoft TFS, Perforce, VSS usando linha de comando sim
diferença Não Não Não sim Sim com patch Sim com patch Não Não
diff3 Não Não Não
Eclipse (compare) Sim CVS , Subversion , Git , Mercurial , Baazar sim
Ediff sim sim RCS, CVS, SVN, Mercurial, git (qualquer coisa suportada pelo modo VC do Emacs) sim sim sim
ExamDiff Pro sim sim diff normal apenas sim
Far Manager (compare) Não Não Não Não Não Não sim Não
fc Não Não Não
FileMerge (também conhecido como opendiff) Não suportado por sistema operacional Não Não Não
Guiffy SureMerge sim sim sim sim sim
IntelliJ IDEA (compare) sim sim sim sim sim sim sim sim
plugin jEdit JDiff sim sim sim sim sim sim sim
Kompare sim
Lazarus Diff
Meld CVS , Subversion , Git , Mercurial , Baazar sim sim
Notepad ++ (compare) Não sim Git, Subversion (compare com base) Não Não Não sim Não
Perforce P4Merge Não sim
Pretty Diff Não Não Não Não Não Não Não sim sim
Tkdiff Não Não CVS, RCS, Subversion Não Não Não Não Não
Total Commander (compare) sim sim sim Não Não Não Não sim Não
vimdiff sim sim sim sim
WinDiff Não Não Não Não
WinMerge sim Não Mercurial, Subversion, Visual Source Safe, Rational ClearCase sim sim
UCC sim Não sim
Nome Suporte ZIP Suporte FTP Suporte SFTP Navegação de controle de versão Criação de patch Aplicação de patch Antevisão do patch Suporte Unicode Ciente de XML

Aspects

Que aspectos podem ser / são comparados?

Nome Invólucro de nome de arquivo CRC Arquivado Horário de verão Invólucro de personagem
Sem comparação sim sim sim sim sim
Compare ++ sim sim sim sim
diferença sim Não Não Não Opcional
diff3
Eclipse (compare)
Ediff
ExamDiff Pro Não sim sim sim sim
Far Manager (compare) sim Não sim Não sim
fc Não Opcional
FileMerge (também conhecido como opendiff) Não Não Não Opcional
Guiffy SureMerge dependente do sistema de arquivos sim sim
IntelliJ IDEA (compare)
plugin jEdit JDiff
Kompare sim
Lazarus Diff
Meld
Notepad ++ (compare) Não Não Não sim
Perforce P4Merge N / D Não Não Não sim
Pretty Diff N / D Não Não Não Opcional
Tkdiff
Total Commander (compare) Opcional Sim (apenas em sincronização) Opcional
vimdiff Não Não Não Não sim
WinDiff Não Não quando diferente sim Opcional
WinMerge Não Não Opcional Opcional
UCC Não Não sim Não
Nome Invólucro de nome de arquivo CRC Arquivado Horário de verão Invólucro de personagem

Efeitos de fuso horário

Quando os arquivos são transferidos através de fusos horários e entre Microsoft FAT e NTFS sistemas de arquivos , o timestamp exibido pelo mesmo arquivo pode mudar, de modo que arquivos idênticos com diferentes histórias de armazenamento são considerados diferentes por um comparador que requer a data e hora a combinar. A diferença é um número exato de quartos de hora até 95 (mesmos minutos módulo 15 e segundos) se o arquivo foi transportado entre zonas; há também uma diferença de uma hora em uma única zona causada pela transição entre o horário padrão e o horário de verão (DST). Alguns, mas não todos, softwares de comparação e sincronização de arquivos podem ser configurados para ignorar as diferenças de horário de verão e de fuso horário. O software conhecido por ter compensação de horário de verão está marcado na tabela Aspectos .

Veja também

Referências