[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gerar e aplicar diffs



On Sun, 22 Apr 2001 15:21:11 -0300
Fernando Fraga e Silva <beakman@iname.com> wrote:
> diff configure.in configure.in.by.beak > configure.in.diff
> 
> Mas o resultado foi diferente do que eu esperava , pois , esperava um arquivo 
> com "+" e "-" e não com "<" ">" , e como eu faço para aplicar um diff.

  diff -ub arquivo.a arquivo.b > patch-a.b

vai gerar um arquivo que explica o que deve ser feito com o arquivo.a
para que o resultado seja o arquivo.b

> O diffs são os que geram os patchs ?

não. os diffs são arquivos e servem de patches.

  patch arquivo.a < patch-a.b

do exemplo anterior, vai dar como resultado arquivo.a o conteúdo do
arquivo.b

O -u gera um diff `unificado' mas em realidade, se não vai ser editado
manualmente, não é muito importante.

> Alguém poderia me dar uma luz ?

Vou tentar. É melhor não fazer os diffs de um só arquivo se pertence a
um pacote. Você pode usar a opção -r e fazer o diff para todos os
arquivos do diretório. Por exemplo, se você tem pacote-1.0.tar.gz, vai
descompactar e mudar o que deseja mudar. Quando terminar, você muda o
nome do directorio pactote-1.0 para pacote-1.0-ff e descomprime o
pacote origninal de novo. Digitando:

  diff -rub pacote-1.0 pacote-1.0-ff > diff-1.0-1.0-ff

vai gerar um arquivo com o diff unificado que contem toda a informação
necessária para converter o conteúdo do diretório original no que você
deixou após as alterações. Isto tem algumas vantagens frente à
aplicação do diff arquivo por arquivo: (1) você manda só um
diff/patch, (2) a pessoa que vai aplicar o patch pode fazer o seguinte
(após descomprimir o pacote original e deixando o seu diff no mesmo
diretório):

  cd pacoto-1.0
  patch -p1 ../diff-1.0-1.0-ff

assim ele pode nomear o diretório original como quiser.


--
Christoph Simon
datageo@terra.com.br
---
^X^C
q
quit
:q
^C
end
x
exit
ZZ
^D
?
help
shit
.



Reply to: