0
我正尝试使用diff工具创建修补程序文件,但遇到问题。 我已创建了一个名为目录中,并把原来的文件到它:如何处理此修补程序问题
- A/original_file.c
我已经创建了一个名为B以外的目录,并把同样的文件与它修改的内容。
- B/original_file.c
我已经复制从互联网的B/original_file.c文件的内容并把它放入一些文本编辑器。
发出命令diff -Naur a b > patch_file.patch
后,我可以看到patch_file.patch
已生成,并且它有一些不需要的更改(它与缩进有关)。
例如:
return msg (MSG_NOTIFY, &msg, senr,
- sizeof (struct msgotify));
+ sizeof (struct msgotify));
你可以看到有改变相关的压痕,其中sizeof (struct msgotify))
由压痕的相同sizeof (struct msgotify))
而是一个基础这是我们不想要的东西所取代。
有谁能让我知道如何摆脱这个问题??
Thansk @Jonathan,所以我的命令会diff - 是否-b a b?我的新补丁文件将有b/original_file.c的indendation? –
是的,你可以使用'diff -Naur -b'或者将它与其他标志'diff -Naurb'结合使用。由于修补程序文件不包含任何只有间距不同的行,因此会发生什么情况取决于您如何应用修补程序。由于该补丁将'a'转换为'b',因此如果将补丁应用于'a'中的文件,则会得到包含与'a'相同间距的行的结果,因为您没有支付注意间距的差异。如果你在'b'文件中反向应用了这个补丁,你可以在'a'中得到这个文件,但是文件'b'的间距为那些没有明确改变的行。 –
你建议的选项对我来说工作得很好,我只能看到修改后的补丁文件,但是当应用这个补丁文件时,我得到的错误并不是早些时候出现的。 –