Isso já pode ser respondido, mas é difícil procurar - basicamente,
Quando patch
encontrar um bloco/pedaço incapaz de aplicar, ele rejeitará o bloco alterado no arquivo rejeitado.
Como não colocar os conflitos no arquivo de rejeição, mas incluir na saída final, assim como quando git
encontrar os conflitos e incluir as duas versões na saída final :
$ cat merge.txt
<<<<<<< HEAD
this is some content to mess with
content to append
=======
totally different content to merge later
>>>>>>> new_branch_to_merge_later
O patch GNU tem uma
--merge
opção :Estranhamente, não consigo encontrar isso na documentação do GNU diffutils (onde outras
patch
opções estão documentadas).