Este artículo compara las herramientas de software que se utilizan para realizar comparaciones de archivos de varios tipos. Los tipos de archivo que tratan las aplicaciones de comparación de archivos individuales varían, pero pueden incluir texto, símbolos, imágenes, audio o video. Esta categoría de herramienta de software a menudo se llama "comparación de archivos" o "herramienta de diferenciación", pero esos son términos equivalentes, donde el término "diferencia" se asocia más comúnmente con la utilidad Unix .diff
Un caso rudimentario típico es la comparación de un archivo con otro. Sin embargo, también puede incluir comparaciones entre dos poblaciones de archivos, como en el caso de comparar directorios o carpetas , como parte de la administración de archivos . Por ejemplo, esto podría ser para detectar problemas con versiones de respaldo dañadas de una colección de archivos ... o para validar que un paquete de archivos cumple con los estándares antes de su publicación.
Tenga en cuenta que se deben realizar comparaciones entre el mismo tipo de archivo. Es decir, un archivo de texto no se puede comparar con una imagen que contiene texto, a menos que se realice primero un proceso de lectura óptica de caracteres (OCR) para extraer el texto. Del mismo modo, el texto no se puede comparar con las palabras habladas, a menos que las palabras habladas primero se transcriban a texto. Además, el texto en un idioma no se puede comparar con el texto en otro, a menos que uno esté traducido al idioma de otro.
Una consideración crítica es cómo los dos archivos que se comparan deben ser sustancialmente similares y, por lo tanto, no radicalmente diferentes. Incluso diferentes revisiones del mismo documento, si hay muchos cambios debido a adiciones, eliminaciones o movimiento de contenido, pueden hacer que las comparaciones de cambios de archivos sean muy difíciles de interpretar. Esto sugiere guardar versiones frecuentes de un documento crítico, para facilitar mejor la comparación de archivos.
Una herramienta de comparación de archivos "diff" es una utilidad vital para ahorrar tiempo y trabajo, ya que ayuda a realizar comparaciones tediosas. Por lo tanto, es una parte vital de los exigentes procesos de comparación empleados por individuos, académicos, el ámbito legal, el campo forense y otros esfuerzos profesionales: identificar las diferencias que a veces son difíciles de detectar y necesarias para la detección.
Estos usos incluyen:
- Revisiones de textos, planos o dibujos.
- Edite los cambios en los medios.
- Omisión de crédito por citas, citas, extractos o ejemplares.
- Plagio.
- Alteración de documentos legales.
- Fraude.
- Falsificación.
- Falsificación, o "falsificaciones profundas" para suplantar.
- Disputas sobre propiedad o crédito por esfuerzos cooperativos.
- Cronología de la evolución de un proyecto.
- Detecta la esteganografía, la práctica de ocultar datos a plena vista.
- Descubrir la eliminación de marcas de agua.
- Alteración de documentos legales.
- Fraude .
- Falsificación o " deepfake " para suplantar.
- Disputas sobre propiedad o crédito por esfuerzos cooperativos.
- Cronología de la evolución de un proyecto o esfuerzo.
- Detecta la esteganografía (la práctica de ocultar datos a plena vista).
- Desfiguración intencional [ desambiguación necesaria ] .
- Daños accidentales o no intencionales.
- Cambios en la salud del ser vivo.
- Evaluación de riesgos de propagación de daños estructurales.
- Evaluación para restauración [ desambiguación necesaria ] .
- Degradación debido a los efectos de la exposición ambiental a lo largo del tiempo, incluida la entropía natural (disminución con el tiempo):
- Oxidación.
- Exposición a la lluvia.
- Abrasión por arena impulsada por el viento.
- Meteorización por cambios ambientales en la temperatura, como los causados por ciclos de congelación-descongelación.
- Pigmentos fugitivos (es decir, no permanentes) en pinturas o materiales impresos por exposición a luz ultravioleta.
- La exposición a vibraciones, como los procesos industriales, proviene del tráfico de vehículos.
General
Información general básica sobre el software de comparación de archivos .
Nombre | Creador | FOSS | Libre | Primera fecha de lanzamiento público | Año de la última versión estable | Ventanas | Macintosh | Linux | Otras plataformas | Tamaño de archivo máximo admitido |
---|---|---|---|---|---|---|---|---|---|---|
Incomparablemente | Software de scooter [1] | No; Propiedad | No | 1996 | 2020-10-02 (v4.3.7) | sí | sí | sí | > 2GB (64 bits) | |
Comparar ++ | Software Coode [2] | No; Propiedad | No | 2010 | 12/11/2014 (2.21.2.0) | Sí [3] | No | No | ||
diff , diff3 | AT&T | Sí; BSD de 3 cláusulas , BSD de 4 cláusulas , CDDL , GPL, propietario | sí | 1974 | No | Sí ( Mac OS X ) | sí | portado a la mayoría de las plataformas como parte de SCCS | > 2GB pero menos de 64 bits | |
Eclipse (comparar) | Sí; Licencia pública de Eclipse | sí | 2004-07-21 | 2016-09-28 (4.6.1 (Neón.1)) | sí | sí | sí | Cualquier cosa con Java | ||
Ediff | Michael Kifer [4] | Sí; GPL | sí | 1994 | 2.81.4 | Sí [5] | Sí ( Mac OS X ) | sí | Cualquier cosa con Emacs y diff | |
ExamDiff Pro | PrestoSoft [6] | No; Propiedad | No | 1998 | 2020-12-10 (v 11.0.1.11) | Sí ( Win98 y posteriores) | No | No | ||
Far Manager (comparar) | Eugene Roshal (original); Grupo FAR | Sí; Licencia BSD revisada | sí | 1996 | 2020-11-12 (v3.0 compilación 5700) | sí | No | No | ||
fc | Microsoft [7] | No; Propiedad | Sí; Parte del sistema operativo | 1987 | Sí (DOS) | No | No | |||
FileMerge (también conocido como opendiff) | Apple Inc. | No; Propiedad | Sí; (parte de las herramientas de desarrollo de Apple ) | 1993 (parte de NEXTSTEP 3.2 [8] ) | 2014 (v2.8) | No | Sí (Mac OS X) | No | ||
FreeFileSync | Zenju | Sí; GPLv3 | sí | 2008 | 4 de diciembre de 2020 (v11.4) | sí | sí | sí | ||
Guiffy SureMerge | Software Guiffy [9] | No; Propiedad | No | 2000 | 6 de abril de 2021 (v11.14) | sí | sí | sí | Cualquier cosa con Java | > 2GB |
IntelliJ IDEA (comparar) | JetBrains [10] | No; Propiedad | No | 2001 | 2019-08-20 (2019.2.1) | sí | sí | sí | ||
Complemento jEdit JDiff | Varios [11] | Sí; GPL | sí | 1998 | 2012-10-04 (3.3.0) | sí | sí | sí | Cualquier cosa con Java | |
Kompare | Otto Bruggeman [12] | Sí; GPLv2 + | sí | Sí [13] | Sí (Mac OS X) | sí | ||||
Lazarus Diff | Lázaro (software) | Sí; GPL | sí | 2000 | 2020-07-11 (2.0.10) | sí | sí | sí | FreeBSD | |
Meld | Stephen Kennedy [14] | Sí; GPLv2 + | sí | 2002 | 2020-02-16 (3.20.2) | Sí [15] | sí | sí | BSD , Solaris | |
Bloc de notas ++ (comparar) | Varios | Sí; GPLv3 | sí | 2009 | 2015-01-06 (1.5.6.6) | Sí [16] | No | No | ||
Perforce P4Merge | Forzosamente | No; Propiedad | sí | 2019 (2019.1 / 1815056) | sí | sí | sí | Sun Solaris | ||
Pretty Diff | Austin Cheney [17] | Sí; Compatible con MIT | sí | 2009 | 2016-11-11 (2.1.14) | Sí ( Web ) | Sí ( Web ) | Sí ( Web ) | Node.js | |
Tkdiff | Tkdiff [18] | Sí; GPLv2 + | sí | 2003 (o antes) | 2011-11-27 (v4.2) | Sí ( Tcl ) | Sí (Tcl) | Sí (Tcl) | Cualquier cosa con Tcl | |
Total Commander (comparar) | Christian Ghisler [19] | No; Propiedad | No | 25 de marzo de 2020 (v9.51) | sí | No | No | |||
twdiff (Asistente de diferenciación de TextWrangler) | Bare Bones Software, Inc. [20] | No; Propiedad | Sí; con TextWrangler | 2012 (1.0 (v22)) | No | sí | No | No | ||
vimdiff | Bram Moolenaar y col. | Sí; Compatible con GPL [21] | sí | 2001 | 2016-10-03 (v8.0.0022) | sí | sí | sí | Cualquier cosa con vim | |
WinDiff | Microsoft [22] | No; Propiedad | Sí; Parte de Platform SDK | 1992 | 14 de mayo de 2010 (v6.1.7716.0) | sí | No | No | No | |
WinMerge | Dean Grimm [23] | Sí; GPL | sí | 1998 | 28 de agosto de 2020 (v2.16.8) | Sí ( Win95 y superior) | Sí (en vino [24] ) | Sí (en vino [24] ) | 2 GB | |
UCC | USC CSSE [25] | No; Licencia pública limitada de USC-CSSE | sí | 2009 | 2015-12-30 (2015.12) | sí | sí | Sí {2.6.9} | Sun Solaris | |
Nombre | Creador | FOSS | Libre | Primera fecha de lanzamiento público | Año de la última versión estable | Ventanas | Macintosh | Linux | Otras plataformas | Tamaño de archivo máximo admitido |
Comparar características
Nombre | Mostrar cambios en línea | Comparación de directorios | Comparación binaria | Líneas movidas | Comparación de 3 vías | Unir | Comparación estructurada [26] | Alineación de comparación manual | Comparación de imágenes |
---|---|---|---|---|---|---|---|---|---|
Incomparablemente | sí | sí | sí | No | Sí (archivos y carpetas) | Sí (solo Pro) | sí | sí | |
Comparar ++ | sí | sí | sí | sí | Sí (C / C ++, C #, Java, Javascript, CSS3) | ||||
diff | No | sí | parcialmente | No | No | No | |||
diff3 | No | No | Si (no opcional) | ||||||
Eclipse (comparar) | sí | No (solo antepasado) | sí | No | |||||
Ediff | sí | sí | sí | sí | sí | ||||
ExamDiff Pro | sí | sí | sí | Sí [27] | Sí (solo ExamDiff Pro Master) [28] | sí | sincronización manual | ||
Far Manager (comparar) | Sí (mediante complemento) [29] | sí | sí | Sí (mediante complemento) [29] | No | No | |||
fc | No | No | sí | No | No | ||||
FileMerge (también conocido como opendiff) | sí | sí | sí | Sí (antepasado opcional) | sí | ||||
Guiffy SureMerge | sí | sí | sí | sí | sí | sí | sí | ||
IntelliJ IDEA (comparar) | sí | sí | sí | No | sí | sí | sí | sí | |
Complemento jEdit JDiff | sí | No | sí | ||||||
Kompare | sí | No | No | sí | |||||
Lazarus Diff | |||||||||
Meld | sí | sí | No | sí | sí | sí | alineación de línea, desvincular desplazamiento | ||
Bloc de notas ++ (comparar) | sí | No | No | sí | No | No | No | ||
Perforce P4Merge | sí | No | No | sí | sí | sí | |||
Pretty Diff | sí | sí | No | No | No | No | sí | No | |
Tkdiff | sí | No | No | No | No | No | |||
Total Commander (comparar) | sí | sí | sí | No | No | sí | No | comparación de resincronización | No |
vimdiff | sí | Sí (a través del complemento DirDiff) | sí | sí | |||||
WinDiff | sí | sí | sí | sí | No | No | |||
WinMerge | sí | sí | sí | sí | sí | sí | sí | sí | |
UCC | sí | sí | sí | sí | No | sí | |||
Nombre | Mostrar cambios en línea | Comparación de directorios | Comparación binaria | Líneas movidas | Comparación de 3 vías | Unir | Comparación estructurada [26] | Alineación de comparación manual | Comparación de imágenes |
Funciones de API / editor
Nombre | GUI | CLI | Scripting | Horizontal Vertical | Resaltado de sintaxis | Informes |
---|---|---|---|---|---|---|
Incomparablemente | sí | sí | sí | Ambas cosas | sí | XML, HTML, CSV, texto, parche Unix |
Comparar ++ | sí | sí | Ambas cosas | sí | HTML, texto (combinado o en paralelo) | |
diff | No | sí | Horizontal | Sí, tubería para resaltar diferenc. [30] | ||
diff3 | No | sí | Horizontal | |||
Eclipse (comparar) | sí | Vertical | sí | |||
Ediff | sí | sí | elisp | Ambas cosas | sí | |
ExamDiff Pro | sí | sí | Opcional | sí | UNIX, HTML, Diff | |
Far Manager (comparar) | sí | sí | sí | sí | No | |
fc | No | sí | Horizontal | |||
FileMerge (también conocido como opendiff) | sí | sí | Vertical | sí | No | |
Guiffy SureMerge | sí | sí | API de Java | Ambas cosas | sí | HTML, texto, parche Unix |
IntelliJ IDEA (comparar) | sí | sí | Vertical | sí | ||
Complemento jEdit JDiff | sí | Ambas cosas | sí | |||
Kompare | sí | Vertical | No | |||
Lazarus Diff | sí | sí | ||||
Meld | sí | No | sí | No | ||
Bloc de notas ++ (comparar) | sí | sí | Ambas cosas | sí | No | |
Perforce P4Merge | sí | sí | Vertical | sí | No | |
Pretty Diff | sí | sí | JavaScript | Ambas cosas | sí | XHTML |
Tkdiff | sí | |||||
Total Commander (comparar) | sí | Ambas cosas | No | No | ||
vimdiff | sí | sí | secuencia de comandos vim | Ambas cosas | sí | HTML |
WinDiff | sí | sí | Horizontal | No | Texto | |
WinMerge | sí | sí | Ambas cosas | sí | CSV, delimitado por tabuladores, HTML, XML | |
UCC | sí | sí | Vertical | sí | Texto, CSV | |
Nombre | GUI | CLI | Scripting | Horizontal Vertical | Resaltado de sintaxis | Informes |
Otras características
Algunas otras características que no encajaban en la tabla anterior
Nombre | Soporte ZIP | Soporte FTP | Soporte SFTP | Navegación de control de versiones | Creación de parches | Aplicación de parche | Vista previa del parche | Soporte Unicode | Compatible con XML |
---|---|---|---|---|---|---|---|---|---|
Incomparablemente | sí | sí | sí | SVN | sí | sí | sí | sí | |
Comparar ++ | SVN, CVS, Git, Microsoft TFS, Perforce, VSS usando la línea de comando | sí | |||||||
diff | No | No | No | sí | Si con parche | Si con parche | No | No | |
diff3 | No | No | No | ||||||
Eclipse (comparar) | Sí CVS , Subversion , Git , Mercurial , Baazar | sí | |||||||
Ediff | sí | sí | RCS, CVS, SVN, Mercurial, git (cualquier cosa compatible con el modo VC de Emacs) [31] | sí | sí | sí | |||
ExamDiff Pro | Sí [32] | Sí [33] | diferencia normal solamente | sí | |||||
Far Manager (comparar) | No | No | No | No | No | No | sí | No | |
fc | No | No | No | ||||||
FileMerge (también conocido como opendiff) | No | soportado por OS | No | No | No | ||||
Guiffy SureMerge | sí | sí | sí | sí | Sí [34] | ||||
IntelliJ IDEA (comparar) | sí | sí | sí | sí | sí | sí | sí | sí | |
Complemento jEdit JDiff | sí | sí | sí | sí | sí | sí | sí | ||
Kompare | sí | ||||||||
Lazarus Diff | |||||||||
Meld | CVS , Subversion , Git , Mercurial , Baazar | sí | sí | ||||||
Bloc de notas ++ (comparar) | No | Sí [35] | Git, Subversion (comparar con base) | No | No | No | sí | No | |
Perforce P4Merge | No | sí | |||||||
Pretty Diff | No | No | No | No | No | No | No | sí | sí |
Tkdiff | No | No | CVS, RCS, Subversion | No | No | No | No | No | |
Total Commander (comparar) | sí | sí | sí | No | No | No | No | sí | No |
vimdiff | sí | sí | sí | sí | |||||
WinDiff | No | No | No | No | |||||
WinMerge | sí | No | Mercurial, [36] Subversion, [37] Visual Source Safe, Rational ClearCase [38] | sí | sí | ||||
UCC | sí | No | sí | ||||||
Nombre | Soporte ZIP | Soporte FTP | Soporte SFTP | Navegación de control de versiones | Creación de parches | Aplicación de parche | Vista previa del parche | Soporte Unicode | Compatible con XML |
Aspectos
¿Qué aspectos se pueden / se comparan?
Nombre | Carcasa de nombre de archivo | CRC | Fecha de archivo | Horario de verano | Carcasa de personaje |
---|---|---|---|---|---|
Incomparablemente | sí | sí | sí | sí | sí |
Comparar ++ | sí | sí | sí | sí | |
diff | sí | No | No | No | Opcional |
diff3 | |||||
Eclipse (comparar) | |||||
Ediff | |||||
ExamDiff Pro | No | sí | sí | sí | sí |
Far Manager (comparar) | sí | No | sí | No | sí |
fc | No | Opcional | |||
FileMerge (también conocido como opendiff) | No | No | No | Opcional | |
Guiffy SureMerge | dependiente del sistema de archivos | sí | sí | ||
IntelliJ IDEA (comparar) | |||||
Complemento jEdit JDiff | |||||
Kompare | sí | ||||
Lazarus Diff | |||||
Meld | |||||
Bloc de notas ++ (comparar) | No | No | No | sí | |
Perforce P4Merge | N / A | No | No | No | sí |
Pretty Diff | N / A | No | No | No | Opcional |
Tkdiff | |||||
Total Commander (comparar) | Opcional | Sí (solo en sincronización) | Opcional | ||
vimdiff | No | No | No | No | sí |
WinDiff | No | No | cuando diferente | sí | Opcional |
WinMerge | No | No | Opcional | Opcional | |
UCC | No | No | sí | No | |
Nombre | Carcasa de nombre de archivo | CRC | Fecha de archivo | Horario de verano | Carcasa de personaje |
Efectos de la zona horaria
Cuando los archivos se transfieren a través de zonas horarias y entre sistemas de archivos Microsoft FAT y NTFS , la marca de tiempo que muestra el mismo archivo puede cambiar, por lo que los archivos idénticos con diferentes historiales de almacenamiento se consideran diferentes por un comparador que requiere que las marcas de tiempo coincidan. La diferencia es un número exacto de cuartos de hora hasta 95 (los mismos minutos, módulo 15 y segundos) si el archivo se transportó a través de zonas; También hay una diferencia de una hora dentro de una sola zona causada por la transición entre el horario estándar y el horario de verano (DST). Algunos, pero no todos, el software de sincronización y comparación de archivos se pueden configurar para ignorar las diferencias de horario de verano y de zona horaria. [39] El software que se sabe que tiene compensación de horario de verano está marcado en la tabla Aspectos .
Ver también
- Comparación de archivos
- Sincronización de archivos
- Comparación de software de sincronización de archivos
- Lista de software de clonación de discos
- Comparación de software de clonación de discos
- Comparación de editores hexadecimales
Referencias
- ^ Software de scooter
- ^ "Software Coode" . Archivado desde el original el 21 de diciembre de 2018 . Consultado el 13 de diciembre de 2020 .
- ^ Compare ++ información del sistema operativo
- ^ Michael Kifer
- ^ Ediff requiere una utilidad diff para funcionar. A partir de diciembre de 2017, diff no se incluye con Emacs o Windows, por lo que el uso de Ediff en un entorno Windows requiere la instalación de Emacs y una implementación de diff como GNU diff.
- ^ PrestoSoft
- ^ Microsoft
- ^ Comercialización de productos siguientes (otoño de 1993). "¿Qué hay de nuevo en la versión 3.2?" . NEXTSTEP en foco . NeXT Computer, Inc. 3 (4) . Consultado el 18 de julio de 2014 .
- ^ Software Guiffy
- ^ JetBrains
- ^ jedit.org
- ^ "Otto Bruggeman" . Archivado desde el original el 15 de abril de 2012 . Consultado el 12 de enero de 2006 .
- ^ Instalación de Kompare en Windows
- ^ Stephen Kennedy
- ^ Meld / Windows
- ^ Bloc de notas ++ comparar complemento
- ^ Pretty Diff
- ^ tkdiff
- ^ Christian Ghisler
- ^ Software de huesos desnudos, Inc.
- ^ licencia vim
- ^ Microsoft
- ^ Dean Grimm
- ^ a b WinMerge en vino
- ^ "USC CSSE" . Archivado desde el original el 15 de abril de 2008 . Consultado el 14 de diciembre de 2010 .
- ^ a b Comparar secciones lógicas (clase, métodos)
- ^ Examdiff
- ^ Examdiff
- ^ a b Comparación visual
- ^ https://github.com/git/git/tree/master/contrib/diff-highlight
- ^ gnu.org Soporte-para-control-de-versiones
- ^ a través de un complemento
- ^ a través de un complemento
- ^ UTF8, UTF16, MBCS, SJIS, más de 150 formatos de juego de caracteres y codificación de archivos
- ^ Complemento FTP de Notepad ++
- ^ "tortoisehg / stable / wiki / FAQ -" . Bitbucket.org. Archivado desde el original el 15 de julio de 2010 . Consultado el 6 de julio de 2010 .
- ^ "Uso de WinMerge con otras herramientas - Manual de WinMerge 2.12" . Winmerge.org. Archivado desde el original el 10 de julio de 2010 . Consultado el 6 de julio de 2010 .
- ^ "Acerca de" . WinMerge. Archivado desde el original el 3 de julio de 2010 . Consultado el 6 de julio de 2010 .
- ^ Ejemplo: la ayuda "Más allá de la comparación" describe la configuración de un usuario "diferencias de zona horaria: ignora las diferencias de marca de tiempo que son múltiplos de una hora exacta".