diff e patch - Um guia sem hora pra acabar

Introdução rápida aos programas diff e patch. A primeira parte de um guia que eu pretendo fazer com várias partes, sem data nem hora pra acabar, sem número definido de partes.

[ Hits: 21.885 ]

Por: Josiel A. Santos em 27/01/2014 | Blog: http://blog.josielsantos.esy.es/


Resumo



Sabe aquilo que você passa a vida pensando: Por que nenhum filho de Deus inventou algum programa para aplicar mudanças em meus arquivos e diretórios sem eu precisar ficar dando Ctrl+c / Ctrl+v em todos eles?

Pior ainda, sabe aquela sensação que você tem, quando estuda informática a quase 10 anos e descobre que esse programa, ou melhor, essa dupla de programas, esteve sempre na sua cara e você não percebeu?

Pois isso é o que estou sentindo no momento em que escrevo esse texto.

diff e patch, um te mostra as diferenças e o outro remove as diferenças. Por mais burro que eu possa parecer, conheci esses programas depois de 10 anos de estudo, e agora, quero escrever um guia sem hora pra acabar, mostrando cada coisa nova que eu for aprendendo sobre essas duas ferramentas.

Introdução

O começo pode parecer meio confuso, mas agora, vou falar mais bonitinho.

Situação: você baixou um código fonte da Internet e quer acrescentar alguma nova funcionalidade nele. Procurando uma luz no fim do túnel, um tutorial que seja, para te ajudar, você descobre que já fizeram aquilo que você quer fazer!

Você fica todo alegre e lê o tutorial, que é mais ou menos assim:
  • Procure a linha: if(blabla1==blabla2)
  • E modifique para: if(blabla1==blabla2 && blabla3==blabla4)

Agora, 3 linhas abaixo, acrescente:

"while(1)
{
//Muito código
}"

Agora, remova a linha: //Linha que vai atrapalhar tudo

E está feito!

Bom, em um código com 30, 40, 100 linhas em apenas um arquivo, não tem problema copiar, colar, substituir, remover, desde que você faça exatamente como manda o tutorial.

Mas, em um código dividido em vários arquivos, cada arquivo contendo mais de 1000 linhas e você ter que fazer modificações em mais de um arquivo, é sempre bom que algum programa faça isso automaticamente para você, sem riscos de você remover, substituir ou modificar alguma coisa errada.

Não seria mais seguro, se no tutorial tivesse escrito assim?:
"Disponibilizo um patch para você, basta usar a ferramenta patch e se seu código não for diferente do original, tudo vai funcionar corretamente.
Qualquer coisa você pode usar a opção -R para reverter a alteração provocada por meu patch. Use a opção -b, pois se algo der errado, o backup estará lá te esperando."

Aeeeeeeeee! Isso existe! :)

Nessa primeira parte, falarei do diff e mostrarei as opções básicas, afinal, não estou muito longe do básico.

Faremos também um simples patch para sentir o gosto da coisa.

    Próxima página

Páginas do artigo
   1. Resumo
   2. diff / patch
   3. Conclusão
Outros artigos deste autor

Testes unitários em Java com JUnit

Leitura recomendada

Dando uma olhada no Mageia 7 (beta)

Apresentando Cinnamon

Virtualização dos sistemas operacionais: CentOS, Debian, Slackware e Ubuntu

Incentivo ao Funtoo

Boot Seguro LILO

  
Comentários
[1] Comentário enviado por itamarnet em 27/01/2014 - 08:43h

Legal seu artigo, mas me lembra um tutorial em vídeo feito pelo Aurelio, confere nesse link, quem sabe lhe dá mais algumas idéias:

http://aurelio.net/blog/2012/05/02/video-aula-como-aplicar-um-patch-diff/

Parabéns meu amigo

[2] Comentário enviado por removido em 28/01/2014 - 23:03h

Gostei!

[3] Comentário enviado por removido em 19/02/2014 - 16:44h

Muito bom!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts