diff3 - diff3

diff3
Desenvolvedor (s) AT&T Bell Laboratories
lançamento inicial Janeiro de 1979 ; 42 anos atrás ( 1979-01 )
Sistema operacional Unix e semelhante ao Unix
Modelo Comando

diff3 é um utilitário Unix para comparar três arquivos e mostrar as diferenças entre eles. O diff3 também pode mesclar arquivos, implementando uma mesclagem de três vias .

História e implementações

diff3apareceu originalmente na versão 7 do Unix de 1979. Uma versão muito semelhante foi encontrada no Berkeley Software Distribution (BSD) e foi herdada no OpenBSD e provavelmente no Solaris .

Na maioria dos sistemas modernos do tipo Unix, mesmo aqueles derivados do BSD como FreeBSD e NetBSD, o diff3 fornecido é a versão do GNU em diffutils (anteriormente GNU Tools ). Esta versão tem a capacidade de mesclar arquivos por conta própria, sem depender de ed. Ele invoca internamente diffpara fazer a comparação, mas também pode usar qualquer outra ferramenta compatível.

"Diff3" também se tornou um nome genérico para o algoritmo de mesclagem de três vias, especificamente um baseado na reconciliação de duas diferenças diferentes originadas da primeira fonte.

Mesclando de um ancestral comum

Quando duas pessoas fazem alterações nas cópias do mesmo arquivo, diff3 pode produzir uma saída mesclada que contém os dois conjuntos de alterações junto com avisos sobre conflitos. diff3 pode mesclar três ou mais conjuntos de mudanças em um arquivo mesclando dois conjuntos de mudanças por vez.

diff3 pode incorporar alterações de duas versões modificadas em uma versão anterior comum. Isso permite que os usuários mesclem os conjuntos de alterações representados pelos dois arquivos mais recentes. Este pode ser ativado usando um comando como este: diff3 mine older yours.

Isto é como subtrair o arquivo oldera partir do arquivo yourse adicionando o resultado para o arquivo mine, ou como fundindo-se mineas mudanças que iria transformar olderem yours. Essa fusão é bem definida, desde que minee oldercoincida na vizinhança de cada mudança. Isso não é verdade quando todos os três arquivos de entrada são diferentes ou quando apenas são olderdiferentes; isso é um conflito. Quando todos os três arquivos de entrada são diferentes, o conflito é uma sobreposição.

diff3 tem vários métodos para lidar com sobreposições e conflitos. Ele pode omitir sobreposições ou conflitos, ou selecionar apenas sobreposições, ou marcar conflitos com linhas especiais <<<<<<<e >>>>>>>.

diff3 pode produzir os resultados da mesclagem como um script ed que pode ser aplicado ao primeiro arquivo para produzir a saída mesclada. No entanto, gerar diretamente a saída mesclada contorna alguns problemas com ed.

Veja também

Referências

links externos