Eu tento fazer um patch como apresentado aqui .
Digamos que eu tenha dois diretórios pp1(modified version)
e pp0(clean version)
crie um arquivo de correção pp0.patch
com o diff
comando:
diff -crB pp0 pp1 > pp0.patch
O problema é que, se houver um arquivo apenas no pp1, ele não será incluído no patch. Como contornar isso?
UPDATE :
Primeiramente, mudo para o diretório pp0 e testo se o patch será bem-sucedido
patch --dry-run -p1 -i /path-to-pp0.patch
Embora eu tenha adicionado --new-file
ao diff
comando, apenas aqueles que pp1
não estão listados no resultado
ATUALIZAÇÃO :
corrigi acidentalmente o arquivo errado,
diff -crb --new-file pp1 pp0 > pp0.patch
ou
diff -crNb pp1 pp0 > pp0.patch
vai fazer
A resposta imediata :,
diff -N
como explicado por pootzko . Você verá que muitos patches por aí são criados pordiff -urN
.O que pode melhorar sua vida: comece a usar uma ferramenta de controle de versão. Se você não conhece, comece com um dos três principais sistemas de controle de revisão distribuído , Bazaar , Git ou Mercurial . Faça o check-in da versão limpa, trabalhe, faça o check-in quantas vezes quiser e peça ao sistema de controle de versões uma diferença entre a versão limpa e o seu trabalho.
fonte