SVN 补丁 - 更新版本;行内容相同但行号不同

SVN patch - newer revision; lines content same but different line numbers

SVN给代码文件打补丁时,如果满足以下一项或多项条件,SVN会做什么:

  1. 补丁版本号早于当前版本
  2. 补丁文件中的更改发生在与预期不同的行上
  1. 我认为不会有什么特别的事情发生,除非它会增加你问题的第二部分出现的机会:

The changes in the patch file occur on a different line than expected

  1. 作为svnbook says

Changes listed in the patch file will either be applied or rejected. If a change does not match at its exact line offset, it may be applied earlier or later in the file if a match is found elsewhere for the surrounding lines of context provided by the patch. A change may also be applied with fuzz—meaning, one or more lines of context are ignored when attempting to match the change location. If no matching context can be found for a change, the change conflicts and will be written to a reject file which bears the extension .svnpatch.rej.

作为一个结论:在应用补丁然后检查使用 right click > Tortoise SVN > Check for modifications 所做的更改之前,您无法真正知道,这将打开受影响的列表 files/folders。右键单击它们并执行 Compare with baseShow changes as unified diff。然后你就会知道补丁是否按原计划应用了。