在源代码中修补同一行时发出问题

时间:2013-11-25 15:52:48

标签: c linux patch

我正在尝试修补一个文件,但面临一个问题,Patch正在尝试修改也被其他补丁修改的行,并且出于某种原因我无法通过一个补丁进行这两项修改。

所以任何人都可以让我知道我应该怎么做?

编辑:下面是我的第一个补丁文件

  @@ -1,4 +1,4 @@
 -myuser:*:0:0:root:/root:/bin/bash
 +myuser::0:0:root:/root:/bin/sh

现在我必须对+ myuser :: 0:0进行更多更改:root:/ root:/ bin / sh,它必须通过其他补丁。

当我尝试通过第二个补丁再次修补此行时,收到错误(Hunk在第1行失败)

1 个答案:

答案 0 :(得分:0)

是的,它是有声的“合并”,你想做什么:-)合并意味着我们想要统一源代码上的两个不同的变化。它并不总是很简单,这也是你的情况。

您可能想要的(总是无问题合并),这是不可能的。补丁确实,它能做什么,并试图不破坏任何东西(例如:一个糟糕的应用会让你更加头疼,因为拒绝)。

对于GNU补丁(这可能是您可能使用的),有一个标志可以进行更积极的合并。

实际上,您应该看到代码,解释修补程序的功能,使用修补程序工具应用其中一个修补程序,然后手动应用第二个修补程序。

谷歌“合并工具”或其他一些。