Quando eu uso meld
para obter o diff visual, eu posso simplesmente executar isso a partir da linha de comando:
$ meld file1.txt file2.txt
... e meld
inicia, carrega cada arquivo em uma subjanela separada e mostra as diferenças lado a lado.
Estou tentando fazer o mesmo com o Kompare:
$ kompare file1.txt file2.txt
... mas eu recebo erro: " Could not parse diff output.
". E o mesmo erro se aplica a:
$ kompare -c file1.txt file2.txt
$ kompare -c file:///path/to/file1.txt file:///path/to/file2.txt
Eu também tentei:
$ diff file1.txt file2.txt | kompare -o -
... isso não gera um erro - mas mostra a pasta Source / Destination como " unknown
"(e de outra forma, tudo o mais em branco) ?!
É possível usar o Kompare como eu pretendia? Em caso afirmativo, como a linha de comando deve ser formatada?
Muito obrigado antecipadamente por qualquer resposta,
Felicidades!
Edit: há uma tonelada de bugs relacionados a isso, verifica-se:
- Processado: "Não foi possível analisar a saída do diff" quando as opções de arquivo de exclusão são usadas
- Bug 116637 - "Não foi possível analisar a saída do diff" quando os timestamps estão faltando (timestamps são opcionais)
- [Bug 252359] Novo: o Kompare não pôde analisar um arquivo de patch comum
- Lista de Insetos: kompare + could + not + parse + diff
... poderia ser qualquer um desses, eu acho ..
Edit2: chegando mais perto, eu acho; já que isso está no OpenSuse 11.2,
> kompare --version
Qt: 4.5.3
KDE: 4.3.1 (KDE 4.3.1) "release 6"
Kompare: 4.0.0
> diff --version
diff (GNU diffutils) 2.8.7-cvs
... tentei procurar alguns patches no sistema:
> find / -xdev -name "*.patch" 2>/dev/null
...
/etc/YaST2/policy.patch
/etc/YaST2/liveinstall.patch
... e então eu tentei ver um destes:
kompare -o /etc/YaST2/policy.patch
... e que pelo menos abre e mostra algumas diferenças kompare
, pelo menos, há um arquivo de comparação de diferenças para comparar com ...
fonte
kompare -C
falha; Eu apenas tenteidiff -u
e aquele também falha :( Pelo menos eu consegui encontrar patches de sistema padrão que Faz aberto na Kompare, então eu posso usá-los para comparação ... Felicidades!Eu acho que entendi ...
Meu problema é que queria diferenciar arquivos VHDL; em VHDL, um comentário é dois sinais negativos; então diga que eu tive esse comentário no arquivo
file1.vhd
:e eu substituí-lo para isso em
file2.vhd
Assim, agora se eu executar um diff unificado nesses dois arquivos, eu teria algo como:
Notar que? o
-
dediff
(significando "esta linha removida"), fundida com o--
(que eram conteúdos originais: comentários no.vhd
arquivo) - para criar---
que em termos dediff
é um identificador para um arquivo (veja a primeira linha no snippet acima)!Assim, como o Kompare simplesmente não abre arquivos, mesmo através da GUI - mesmo que você especifique dois arquivos, o Kompare primeiro os executa através de um diff, e então tenta analisar esse diff - aparentemente, primeiro procurando
+++
e---
identificar os arquivos participantes; que faz com que a "linha de comentário VHDL" seja interpretada erroneamente. Para mostrar isso, eu simplesmente tive que inserir um espaço no arquivo diff:... e então poderia carregar no Kompare.
Bem, isso aparentemente significa que agora eu teria que recuar todos dos meus arquivos * .vhd, para tê-los compatíveis com
diff->Kompare
gasoduto ...fonte