|
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)

|