stringtranslate.com

diferencia3

diff3 es una utilidad de Unix para comparar tres archivos y mostrar las diferencias entre ellos. diff3 también puede fusionar archivos, implementando una fusión de tres vías .

Historia e implementaciones

diff3Apareció originalmente en la Versión 7 de Unix de 1979. Se encontró una versión muy similar en Berkeley Software Distribution (BSD) y fue heredada en OpenBSD y probablemente en Solaris . [1] [2]

En la mayoría de los sistemas modernos tipo Unix, incluso los derivados de BSD como FreeBSD y NetBSD, el diff3 proporcionado es la versión de GNU en diffutils (anteriormente GNU Tools ). Esta versión tiene la capacidad de fusionar archivos por sí sola sin depender de ed. Invoca internamente diffpara hacer la comparación, pero también puede usar cualquier otra herramienta compatible. [3]

El comando está disponible como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos nativos Win32 de utilidades comunes similares a GNU Unix. [4]

"Diff3" también se ha convertido en un nombre genérico para el algoritmo de fusión de tres vías, específicamente uno basado en la conciliación de dos diferencias diferentes derivadas de la primera fuente.

Fusión de un ancestro común

Cuando dos personas han realizado cambios en copias del mismo archivo, diff3 puede producir una salida combinada que contenga ambos conjuntos de cambios junto con advertencias sobre conflictos. diff3 puede fusionar tres o más conjuntos de cambios en un archivo fusionando dos conjuntos de cambios a la vez.

diff3 puede incorporar cambios de dos versiones modificadas en una versión anterior común. Esto permite a los usuarios fusionar los conjuntos de cambios representados por los dos archivos más nuevos. Esto se puede habilitar usando un comando como este: diff3 mine older yours.

Esto es como restar el archivo olderdel archivo yoursy agregar el resultado al archivo mine, o como fusionarlo con minelos cambios que se convertirían olderen yours. Esta fusión está bien definida siempre que minecoincida olderen las proximidades de cada uno de dichos cambios. Esto no es cierto cuando los tres archivos de entrada difieren o cuando solo olderdifieren; esto es un conflicto. Cuando los tres archivos de entrada difieren, el conflicto es una superposición.

diff3 tiene varios métodos para manejar superposiciones y conflictos. Puede omitir superposiciones o conflictos, seleccionar solo superposiciones o marcar conflictos con <<<<<<<líneas especiales >>>>>>>.

diff3 puede generar los resultados de la combinación como un script ed que se puede aplicar al primer archivo para generar la salida combinada. Sin embargo, generar directamente la salida fusionada evita algunos problemas con ed.

Ver también

Referencias

  1. ^ diff3(1)  -  Manual de comandos generales de OpenBSD
  2. ^ "diff3 - sección 1 de las páginas de manual: comandos de usuario". Documentación de Solaris 11.3 .
  3. ^ diff3(1)  –  Manual de comandos generales de Linux
  4. ^ "Puertos nativos Win32 de algunas utilidades GNU". unxutils.sourceforge.net .

enlaces externos