A resposta curta à sua pergunta é o controle de versão.
O software que você está corrigindo está sob controle de versão? Caso contrário, você poderia colocá-lo sob controle de versão, aplicar o patch e, em seguida, cancelar a aplicação seletiva das alterações que não deseja. Isso pode ser feito no Mercurial, por exemplo, com
hg revert filename
que removerá as alterações locais, por exemplo "patch de Makefile e drivers / video / logo / logo_linux".
Para obter um patch revisado, é tão simples quanto
hg diff
se você estiver usando o Mercurial ou (provavelmente)
git diff
Uma alternativa é colocar apenas os arquivos que serão corrigidos sob o controle de versão. Um utilitário útil para descobrir quais arquivos serão corrigidos por um arquivo de correção é o diffstat.
diffstat patchfile