【问题标题】:Using the Hg Convert Extension, Branchmap Option使用 Hg Convert 扩展、Branchmap 选项
【发布时间】:2011-09-27 10:26:21
【问题描述】:

我有 2 个 Mercurial 存储库 RepoARepoB,2 个人一直在独立处理他们的每个存储库,RepoA 只有一个分支(默认)但 9提交,RepoB 有 2 个分支,默认和 Experiment1,每个分支都有大约 30 个提交。现在事实证明,RepoB 是 RepoA 的一个子集,即 RepoB 中的很多东西都可以放入 RepoA。我想将 RepoB 的所有内容拉(导入)到 RepoA 的一个分支中。我不希望导入转到 RepoA 的 Default 分支,而是转到 RepoA 中的一个命名分支,称为 Developer1WIP。我特别需要知道

  1. 如何在 RepoA 中创建命名分支(Developer1WIP)并将所有 RepoB 导入 RepoA 上的 Developer1WIP 分支

我相信带有分支映射的 HgConvert 扩展是一个很好的前进方向。 “分支图是一个文件,允许您在从任何外部存储库引入分支时重命名分支。”....

  1. 这是什么文件?
  2. 它在哪里被创建?里面应该有什么?
  3. 我能否获得一些关于如何在 Windows 中使用此命令的示例?

【问题讨论】:

    标签: version-control mercurial tortoisehg


    【解决方案1】:

    所有内容都记录在 Mercurial wiki 中,这是ConvertExtension page 的摘录:

    ...

    --分支图

    自 v1.3 起

    branchmap 是一个允许您在分支被重命名时重命名的文件 从任何外部存储库引入。当用于 结合拼接图,它允许强大的组合 甚至帮助修复管理不善的存储库并将其转为 进入结构良好的 Mercurial 存储库。分支图包含 表格行

    original_branch_name new_branch_name
    

    “original_branch_name”是 源存储库中分支的名称,“new_branch_name”是 分支的名称是目标存储库。这个可以用 将一个存储库中的代码从“默认”移动到命名分支。

    请记住,“default”标识 Mercurial 的默认分支 repositories,默认情况下不显示在 log、heads 或 父母命令。要擦除命名的分支标记,请将其转换为 带有分支图的“默认”,例如

    original_branch_name default
    

    修订版仍然存在,但没有 不再附加到原来的命名分支。

    ...

    所以基本上你会创建一个包含以下内容的文本文件:

    default Developer1WIP
    Experiment1 Developer1WIP
    

    (您是否希望在转换后将 default 和 Experiment1 放在同一个分支上?您的问题有点不清楚,但我假设您这样做了。)

    然后发出转换命令:

    hg convert ORIGINAL_REPO CONVERTED_REPO --branchmap MAP.TXT
    

    【讨论】:

    • 感谢您的回复。我确实阅读了文档,但不清楚去哪里了。你的例子很清楚。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多