【问题标题】:Issue while patching the same line in source code修补源代码中的同一行时出现问题
【发布时间】:2013-11-25 15:52:47
【问题描述】:

我正在尝试修补文件但遇到问题,补丁正在尝试修改也被其他补丁修改的行,由于某种原因,我无法通过一个补丁进行这两项更改。

那么谁能告诉我应该怎么做呢?

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

  @@ -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 行失败)

【问题讨论】:

  • 无相关代码,无从回答。

标签: c linux patch


【解决方案1】:

是的,这就是所谓的“合并”,你想要做的 :-) 合并意味着如果我们想统一源代码上的两个不同的更改。这并不总是简单的,这也是你的情况。

你可能想要的(总是无问题的合并),那是不可能的。 Patch 做了,它可以做什么,并且尽量不破坏任何东西(例如:一个糟糕的应用程序让一个拒绝更令人头疼)。

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

实际上,您应该查看代码,解释补丁的作用,使用补丁工具应用其中一个补丁,然后手动应用第二个。

谷歌“合并工具”之类的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-09
    • 2011-08-09
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多