Diff visual para vários pares de arquivos no Linux

4

Eu preciso de um programa GUI para Linux (Ubuntu Karmic) como tkdiff , que pode exibir 2 arquivos lado-a-lado e destacar as linhas diferentes, e ele aceita vários pares de arquivos no comando linha, mas exibe apenas um par de arquivos de cada vez, e deixa-me saltar para o par de arquivos seguinte ou anterior pressionando uma tecla. Qual o melhor programa para isso?

Eu tentei tkdiff e meld , mas parece ser impossível especificar mais de 2 arquivos para estes na linha de comando.

    
por pts 28.08.2010 / 11:25

6 respostas

0

Como ninguém pode sugerir uma ferramenta que corresponda aos meus requisitos, provavelmente não há nenhuma.

    
por 14.12.2010 / 14:46
2

Eu também tenho lutado com os diffs de vários pares do TkDiff. Até agora eu só consegui o muito inútil:

Error: you specified 6 file(s) and 0 revision(s)

... mas vou adicionar minha experiência e algumas anotações aqui.

Perforce-se aqui no trabalho já faz a coisa certa para mim.

Veja o que o ps diz para um bom trabalho Diferença de vários pares do Perforce (Eu movi cada item argv separado para sua própria linha):

wish
/tools/eng/perforce/tkdiff.tcl
--
:
/tmp/g4-60077/cache/depot/path/to/file1#740
/home/douglasdd/work/src1/path/to/file1
:
/tmp/g4-60077/cache/depot/path/to/file2#15
/home/douglasdd/work/src1/path/to/file2

A partir disso, estou supondo que parte do que está faltando na resposta de Leon acima é o '-' e ':' antes do primeiro par de arquivos. Mas isto não é o suficiente.

Nossa versão forçada do TkDiff é antiga (3.0x), então estou tentando usar minha versão 4.1.x instalada localmente. Mas sem sorte até agora ...

Executar manualmente isso funciona:

wish /tools/eng/perforce/tkdiff.tcl -- : "/tmp/g4-60077/cache/depot/path/to/file1#740" /home/douglasdd/work/src1/path/to/file1 : "/tmp/g4-60077/cache/depot/path/to/file2#15" /home/douglasdd/work/src1/path/to/file2

Mas a execução manual falha:

wish /usr/local/bin/tkdiff -- : "/tmp/g4-60077/cache/depot/path/to/file1#740" /home/douglasdd/work/src1/path/to/file1 : "/tmp/g4-60077/cache/depot/path/to/file2#15" /home/douglasdd/work/src1/path/to/file2

... com o temido:

Error: you specified 6 file(s) and 0 revision(s)

A partir do qual eu sou forçado a me perguntar se talvez o Perforce tem sua própria versão customizada do TkDiff ??

Desculpe, isso não ajuda muito.

    
por 15.11.2010 / 20:42
1

Tente organizar os arquivos para comparar com o mesmo nome em diretórios diferentes, ou seja, comparando foo/file1 com bar/file1 , foo/file2 com bar/file2 , etc. Você pode usar links simbólicos. Em seguida, use uma ferramenta de comparação que compreenda a comparação de diretórios. O Emacs é uma dessas ferramentas (menu "Ferramentas / Comparar / Dois diretórios" ou M-x ediff-directories ).

    
por 28.08.2010 / 11:44
0

Eu gosto do kdiff3 ele pode fazer 2 ou 3 arquivos - e pode comparar diretórios.

    
por 28.08.2010 / 11:31
0

O tkdiff é realmente mal documentado, mas parece que se você separar pares de arquivos por dois-pontos, ele fará a diferença desejada. Por exemplo,

tkdiff a.1 a.2 : b.1 b.2 : c.1 c.2
    
por 13.09.2010 / 20:31
-1

O meld é um utilitário muito interessante para diferenciar arquivos diferentes e até estruturas de diretórios.

Para diferenciar entre vários arquivos:

meld $file1 $file2 $file3

Para diferenciar entre dois diretórios diferentes:

meld $dir1 $dir2
    
por 20.04.2017 / 21:18

Tags