You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Mercurial中基于历史修订版分支并迁移独立修改?

解决方案

针对你的场景,这里提供几个可行的方案,核心思路是在主仓库中基于修订版2462创建独立分支,再将副本的定制修改迁移到该分支,完全隔离主仓库后续的代码提交:

方案一:补丁导出导入法

这是最通用的方法,无需依赖扩展,适合所有Mercurial版本:

  1. 在副本仓库导出定制补丁
    • 命令行:假设副本中从修订版2463开始是你的定制提交,执行 hg export -o custom-patch-%n.diff -r 2463::tip,会生成多个按顺序命名的补丁文件。
    • TortoiseHg操作:右键副本仓库 → 「导出」→ 选择提交范围为「从2463到最新」,设置输出格式为patch文件,保存到本地目录。
  2. 在主仓库创建目标分支
    • 命令行:先切换到修订版2462 hg update -r 2462,再创建分支 hg branch custom-client,最后提交分支创建 hg commit -m "Create custom-client branch based on r2462"。
    • TortoiseHg操作:在仓库历史界面找到r2462,右键 → 「更新到这里」;顶部菜单 → 「分支」→ 「创建分支」,输入分支名custom-client并提交。
  3. 在主仓库应用补丁
    • 命令行:执行 hg import custom-patch-*.diff,按补丁编号顺序导入即可。
    • TortoiseHg操作:右键主仓库 → 「导入」→ 选择之前导出的所有patch文件,批量导入。

方案二:使用Transplant扩展(更高效)

该扩展专门用于跨分支/仓库移植提交,操作更简洁:

  1. 启用Transplant扩展
    打开主仓库的.hgrc(或Mercurial.ini)文件,添加以下配置:
    [extensions]
    transplant =
    
  2. 在主仓库创建目标分支
    同方案一的步骤2,基于r2462创建custom-client分支并提交。
  3. 关联副本仓库并拉取提交信息
    • 命令行:添加副本仓库为远程源 hg add remote custom-repo /path/to/your/copy/repo,然后拉取提交信息 hg pull custom-repo。
    • TortoiseHg操作:仓库界面 → 「设置」→ 「远程仓库」→ 「添加」,输入名称custom-repo和副本仓库路径;然后执行「拉取」操作获取副本的提交历史。
  4. 移植定制提交到目标分支
    • 命令行:执行 hg transplant -b default custom-repo,会将副本default分支上的定制提交全部移植到当前的custom-client分支。
    • TortoiseHg操作:顶部菜单 → 「移植」→ 选择远程仓库custom-repo的default分支,勾选所有定制提交后点击「移植」。

方案三:直接推送/拉取分支(副本为克隆仓库时适用)

如果你的副本是直接从主仓库克隆的,且从未拉取过主仓库r2462之后的提交:

  1. 在副本仓库创建定制分支
    • 命令行:执行 hg branch custom-client,提交分支创建 hg commit -m "Mark custom changes as custom-client branch"。
    • TortoiseHg操作:顶部菜单 → 「分支」→ 「创建分支」,输入custom-client并提交。
  2. 在主仓库拉取该分支
    • 命令行:执行 hg pull /path/to/copy/repo -b custom-client,只拉取副本的custom-client分支。
    • TortoiseHg操作:仓库界面 → 「拉取」→ 选择副本仓库路径,勾选「只拉取指定分支」,输入custom-client后执行拉取。

关键注意事项

  • 操作前务必备份主仓库和副本仓库,避免数据丢失。
  • 若定制修改与主仓库r2462之后的提交存在冲突,迁移时会提示冲突,这属于正常情况,需手动解决,并非「不必要的合并」。
  • 后续如需将定制分支的修改合并到主仓库default分支,只需切换到default分支执行 hg merge custom-client,只会合并定制内容,不会引入无关代码。

内容的提问来源于stack exchange,提问作者AlexHomeBrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:47:25