$ vim patch
Index: toPatch
===================================================================
--- toPatch
+++ toPatch
@@ -2,4 +2,4 @@
*/
-final public class XMLWriter {
+public class XMLWriter {
$ vim toPatch
*/
final public class XMLWriter {
public static float CURRENT_VERSION=2.2f;
$ patch -p0 -ui patch
patching file toPatch
Hunk #1 succeeded at 1 with fuzz 2 (offset -1 lines).
Run Code Online (Sandbox Code Playgroud)
为什么模糊和线偏移?这是一个尝试理解差异和补丁的演示案例,因为工具有时/通常看起来不像预期的那样工作.
xof*_*fon 15
Patch会对diff和您的文件的一致性进行一些基本检查,如果这些检查失败,您将获得偏移或模糊.
你有偏移-1,因为补丁期望你的文件的diff匹配行2-4的内容.但是,在您的文件中,它们是1--3行.
你有fuzz> 0,因为上下文的第一行(两个空格和a */)与实际文件中的行不匹配(一个空格和一个*/).因此,补丁执行了第二次传递,忽略了上下文的第一行和最后一行.
这并不能解释为什么你看到fuzz = 2而不是1.也许错误复制粘贴文件?任何其他想法,任何人?
文件中的索引patch( 之间的数字@@)错误。
patch您的文件中有 3 行代码。patch*/。文件中有 2 个空格patch,但这是预期的,因为第一列用于包含- +或字符。您收到的模糊是关于所使用的偏移量(将所有行向上移动 1)所以你的patch文件应该是
$ cat patch
--- toPatch
+++ toPatch
@@ -1,3 +1,3 @@
*/
-final public class XMLWriter {
+public class XMLWriter {
public static float CURRENT_VERSION=2.2f;
Run Code Online (Sandbox Code Playgroud)
并使用给定的toPatch文件
$ cat toPatch
*/
final public class XMLWriter {
public static float CURRENT_VERSION=2.2f;
Run Code Online (Sandbox Code Playgroud)
然后补丁将在没有模糊警告的情况下应用......
$ patch -p0 -ui patch
patching file toPatch
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13227 次 |
| 最近记录: |