在什么样的条件下补丁不能适用?

在由git (即统一比较格式)生成和应用的补丁的情况下…

一个补丁需要干净地应用什么? 上下文是否完全匹配? 如果一行上下文丢失或添加,会发生什么情况? 它是否必须匹配在完全相同的行号,或者git是否在文件附近查看,如果东西已经转移了一下?

当我search的时候,Google对此没什么好说的,手册也没有。

这是patch信息,但git的行为类似:

被删除的行(前面有- )必须完全匹配。 上下文不必完全匹配; 如果不匹配,则将报告为“绒毛”; 默认情况下,外部的两行上下文不需要匹配,但是内部行(紧挨着更改)就行。

更改(“hunk”)可以在文件中向上或向下移动,但如果修补程序的顺序不同,修补程序将无法应用。