|
Atualizando documentos
Quantas vezes atualizamos documentos e depois nos perguntamos
"que alterações eu fiz nesse documento da última
vez?". O
Unix dispõe de um vasto rol de ferramentas para o controle de
versão de documentos.
Evidentemente, essas ferramentas têm
maior utilidade quando o documento é uma arquivo texto, pois
na maioria das vezes arquivos em binário - como a maioria dos
arquivos gerados por processadores de texto - são difíceis
de serem comparados e visualizados.
Tipicamente, usamos essas ferramentas com
fontes de programas, mas também com aquela página HTML que
você está projetando, ou a resposta a um e-mail de um
amigo. Tudo funciona melhor quando temos acesso ao texto do
documento.
Uma forma comum de serem distribuídas alterações em
programas são as chamadas "patch-files", ou
arquivos, como por exemplo "patch-0.8-0.9", que em
notação
convencional significa um remendo que deixará a versão 0.8
do documento igual à versão 0.9.
Um mesmo "patch-file" pode conter alterações
em vários arquivos de
uma hierarquia de diretórios.
Por que usar esse "patch-file" e não
simplesmente enviar todo o arquivo corrigido? Muitas vezes as
modificações são pequenas e ganha-se muito em tempo e espaço
ocupado quando enviamos apenas as correções.
Aplicando-se essas correcões com o comando "patch -p0
<patch-0.8-0.9", faremos a conversão. O "-p0"
indica que devermos modificar os arquivos no mesmo diretório
aonde se encontravam quando o autor do "patch" o
criou. Podemos eliminar níveis dessa hierarquia colocando números
maiores. Por exempo, se o arquivo original salvo se encontrava
em "/home/rildo/artigos/conexao/patch.txt",
"-p3" tomará somente o caminho "artigos/conexao/patch.txt",
enquanto que "-p1" tomará o caminho "home/rildo/artigos/conexao/patch.txt".
A aplicação desse patch é bastante simples e cada arquivo
(digamos texto.txt) modificado será renomeado como texto.txt.orig.
Caso algo não consiga ser modificado porque há diferença de
contexto entre o original e o patch, as alterações não
relaizadas serão salvas no texto.txt.rej (lembra
rejeitos). Assim você poderá examinar o que não foi possível
modificar, provavelmente devido a alguma edição que você
fez no arquivo antes de produzir o arquivo de patch.
A propósito, esse arquivo de patch é também chamado
de "diff-file" ou arquivo de diferenças, porque ele
provêm da execução do comando que o produz, "diff",
mas isso será o assunto da próxima semana. Futuramente
falaremos também sobre o rcs, o prcs e o cvs.
Cada um tem seus atributos e são interessantes de se empregar
quando editamos muitas vezes uma coleção de textos. Esse
conhecimento é indispensável se você já é ou pretende ser
um programador.
Da próxima vez que você for atualizar o seu kernel ou o seu
programa favorito, veja o tamanho de um "patch-file"
ou "diff-file" e decida por você mesmo se prefere
baixar toda a nova versão ou aprender de uma vez a usar esse
comando tão simples e economizar o seu tempo e a linha telefônica...
Anteriores
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)

|