Como Criar e Aplicar um Patch de Correção de Código
Dica publicada em Linux / Comandos
Como Criar e Aplicar um Patch de Correção de Código
Um dia você resolve compilar um software no seu sistema e descobre um bug ou uma incompatibilidade. Por mais que você busque na internet, não é garantido que você irá encontrar um patch já pronto para o seu problema. Mas, se você por ventura, descobre o problema, é claro que você vai querer aplicá-lo ao código para poder compilar o programa.
A melhor forma de fazer isso é criar um patch para aplicar ao código. Para fazer isso, vamos usar dois comandos, o diff e o patch. Uma forma que eu costumo usar e não dá erro é copiar o arquivo do código problemático, acrescentando "-original" e logo em seguida, alterando o código do arquivo cujo nome não foi alterado, pois esse será usado como o destino do patch.
O "project.h-original" mantém seu código inalterado, e o "project.h" teve seu código alterado. No terminal, é hora de montar o patch com o diff, onde diretório source está localizado:
diff -u diretorio-source/project.h-original diretorio-source/project.h > fix-project.patch
Agora, toda vez que você quiser aplicar o patch ao código, você pode usar esse método que julgo mais coerente e que aprendi com os SlackBuilds. Para facilitar, você pode jogar o patch no diretório source e usar o comando patch dessa forma que vai funcionar de boa:
patch -Np1 -i fix-project.patch
E assim, você resolve seu problema com o código de forma recomendada e apropriada.
A melhor forma de fazer isso é criar um patch para aplicar ao código. Para fazer isso, vamos usar dois comandos, o diff e o patch. Uma forma que eu costumo usar e não dá erro é copiar o arquivo do código problemático, acrescentando "-original" e logo em seguida, alterando o código do arquivo cujo nome não foi alterado, pois esse será usado como o destino do patch.
- project.h-original
- project.h
O "project.h-original" mantém seu código inalterado, e o "project.h" teve seu código alterado. No terminal, é hora de montar o patch com o diff, onde diretório source está localizado:
diff -u diretorio-source/project.h-original diretorio-source/project.h > fix-project.patch
Agora, toda vez que você quiser aplicar o patch ao código, você pode usar esse método que julgo mais coerente e que aprendi com os SlackBuilds. Para facilitar, você pode jogar o patch no diretório source e usar o comando patch dessa forma que vai funcionar de boa:
patch -Np1 -i fix-project.patch
E assim, você resolve seu problema com o código de forma recomendada e apropriada.
Ou mesmo o equivalente em git? sem usar repositórios remotos