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. Una versión muy similar se encontró en Berkeley Software Distribution (BSD) y fue heredada en OpenBSD y probablemente en Solaris . [1] [2]

En la mayoría de los sistemas modernos similares a 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 diffa para 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 Win32 nativos de utilidades comunes tipo Unix de GNU. [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 a partir de un ancestro común

Cuando dos personas han realizado cambios en copias del mismo archivo, diff3 puede producir una salida fusionada que contiene 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 mediante 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 fusionar minelos cambios que se convertirían olderen yours. Esta fusión está bien definida siempre que miney oldercoincidan en la vecindad de cada uno de esos cambios. Esto no es cierto cuando los tres archivos de entrada difieren o cuando solo olderdifiere ; 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, o seleccionar solo superposiciones o marcar conflictos con líneas <<<<<<<especiales >>>>>>>.

diff3 puede generar los resultados de la fusión como un script ed que se puede aplicar al primer archivo para generar el resultado fusionado. Sin embargo, generar directamente el resultado fusionado evita algunos problemas con ed.

Véase también

Referencias

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

Enlaces externos