在分支中应用补丁

时间:2011-04-26 13:38:08

标签: mercurial tortoisehg

我收到了来自撰稿人的补丁。显然,他在行李箱里制作补丁。但是,我想将他的更改提交给一个新的分支。我可以通过Tortoise-Hg知道如何做到这一点吗?

3 个答案:

答案 0 :(得分:12)

下面的说明假设您希望在named branch上隔离补丁。

使用命令行,可以轻松地将修补程序应用于新的命名分支。但是,如果您只想使用TortoiseHg执行此操作,则必须在应用修补程序之前使用空提交创建命名分支。

使用命令行:

hg branch <branch name>
hg qimport --push <patch-file-1>
hg qimport --push <patch-file-2>
hg qfinish --applied

使用TortoiseHg v1.1.x:

  1. 将补丁文件导入补丁队列(不应用补丁)。
  2. 使用空提交创建新的命名分支:
    • 打开提交对话框
    • 点击标有“branch: default
    • 的按钮
    • 选择“Open a new named branch
    • 在提供的文本框中输入您的分支名称
    • 点击OK按钮。
    • 输入提交消息(例如“来自补丁的已创建分支”),然后点击“Commit”。
  3. 在修补程序队列中应用修补程序(一次一个或全部一起)。
  4. 右键单击修补程序队列中的修补程序,然后选择“Finish Applied
  5. 使用TortoiseHg v2.0.x:

    用于TortoiseHg v1.1.x的相同过程将起作用。使用空提交创建命名分支的过程略有不同,但整体概念是相同的。

答案 1 :(得分:3)

在TortoiseHg 2.7中,更新要应用补丁的分支(或者如果它不存在则创建它)。选择存储库&gt;导入并使用浏览...选择单个补丁文件,或浏览目录...导入补丁文件夹。

答案 2 :(得分:1)

除非您使用hg import选项,否则补丁来自的原始分支与--exact无关。因此,您应该创建所需的分支并应用补丁:

hg branch new_branch
hg import /tmp/patch.txt