LG_jc.gif (3670 bytes)
 






Atualizada às terças


Verificando diferenças entre arquivos

Continuando com a nossa visão de ferramentas para manutenção de textos, vejamos como obter as diferenças entre dois arquivos, numa forma que possa ser utilizada pelo comando "patch" já visto. O comando que nos permite obter essa diferença é o "diff" (o nome é bem apropriado).

Primeiramente, analisemos um  outro programa mais amigável, o "tkdiff", que se presta para visualizarmos  rapidamente as diferenças com colorização, sem ser necessário gerar um arquivo  de saida com as diferenças.

Ao executar o "tkdiff" sem nenhum  argumento, ele nos solicita o nome de dois arquivos, o velho e o novo, e então  abre-os nos dois lados da tela, com as diferenças mostradas lado-a-lado. Este programa (talvez você já tenha adivinhado!) é escrito em tcl/tk e isso o torna bastante versátil e amigável, extramamente configurável.
Se quisermos, podemos editar um dos arquivos, salvar a diferenças, ou mesmo efetuar o merging (mistura) das duas versões, produzindo um terceiro arquivo.

Podemos também salvar as diferenças na forma de um relatório, onde cada região dos arquivos onde diferenças foram encontradas são relacionadas na forma de um
relatório detalhado - para humanos, não para computadores - com linhas numeradas.

Entretanto, para gerarmos uma saida que possa ser utilizada pelo comando "patch", é mais interessante nos concentrarmos no programa "diff". Este produz uma saida como texto puro, com alguns caracteres na primeira coluna que servem de marcação: "!", "+", "-".  A figura mostra a saida do comando diff para os mesmos arquivos acima. A colorização não foi produzida pelo "diff", evidentemente, mas pelo editor de textos "vim", que possui colorazação de sintaxe para esse tipo de arquivo (diff-file), entre muitos outros.

A forma usual de se executar o comando "diff" é com a opção "-c" (de contexto), que imprime algumas linhas antes e depois das linhas modificadas, fornecendo
assim maior segurança para a localização real da diferença.

Linhas contendo o caracter "-" indicam que elas foram eliminadas no documento atualizado.  O sinal "!" no início da linha indica que a linha foi modificada (mas não eliminada) e, finalmente, linhas com "+" foram adicionadas ao documento original.  As linhas anteriores e posteriores a essas marcadas não têm finalidade de modificação, mas para indicar o contexto exato aonde
ocorreram as modificações, evitando assim que o programa "patch" faça alterações em lugares errados.


Anteriores

Atualizando documentos (03/11/1999)
Programando um cliente de e-mail (IV) (26/10/1999)
Programando um cliente de e-mail (III) (19/10/1999)
Programando um cliente de e-mail (II)
(12/10/1999)
Programando um cliente de e-mail (I)
(05/10/1999)
Visual Tcl Parte 3
(28/09/1999)
Visual Tcl Parte 2
(21/09/1999)
O Visual Tcl 
(14/09/99)
Programando para Linux (08/09/1999)