mercurial - 如何在 Mercurial 中的存储库之间推送/拉取单个变更集?

标签 mercurial push pull repository changeset

我有以下情况:

  • 我有一个站点 A,它有 Mercurial 存储库,我们已经开发了一段时间。假设 A 有 5 次修订。
  • 我们现在必须创建站点 B,它几乎与站点 A 相同,主要是图形设计除外。所以我克隆了 repo,启动了站点 B,现在 B 的 repo 拥有 A 的所有历史,加上一堆永远不会回到 A 的变更集(主要是 CSS 和图像)。假设这些更改使我进行了 3 次修订。
  • 最后,我现在对 B 进行了更改,我想移回 A,因为它属于两个站点。这是 B 的 repo 中的修订版 9。

  • 问题是:如何将修订版 9 从 B 的 repo 移动到 A 的 repo 中,而不移动修订版 6-8?
  • 我尝试过定期推/拉,但这会移动所有变更集。
  • 我试过导出包或补丁,但由于缺少父级而拒绝在 A 中导入。

  • 我认为 DVCS 的优点之一是我可以轻松完成这种事情(在“集中式”VCS 世界中,我可以通过分支和 merge 轻松修复,我已经用 Vault 完成了很多,而且非常简单) .

    我在这里错过了什么吗?

    注意:我查看了“MQ”,但这似乎是一大堆蠕虫,看起来它只会因为启用而影响常规提交周期。这样对吗?

    任何帮助或指示将不胜感激。谢谢!

    丹尼尔

    最佳答案

    我这样想命令:

  • hg bundle为您提供变更集的二进制版本和 hg unbundle将在接收方将捆绑包转换为完全相同的变更集。

    Bundle 和 unbundle 用于通过电子邮件传输变更集,二进制补丁取决于要存在的父变更集..
  • hg export为您提供变更集的文本表示,除非您使用 --exact命令行标志到 hg import ,然后应用此补丁不会在接收方创建完全相同的变更集。

    不使用的好处--exact正是您可以在任何地方应用这样的补丁,只要没有文本冲突。
  • hg transplant只是 hg export 周围的薄包装和 hg import .
  • 关于mercurial - 如何在 Mercurial 中的存储库之间推送/拉取单个变更集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3691573/

    相关文章:

    ios - ios 中的推送通知 - 角标(Badge)和横幅显示不同的请求

    html - 需要有关 Bootstrap Pull Push 问题的帮助

    tortoisegit - 如何在 TortoiseGit 中设置默认的 PULL Remote ?

    javascript - Android,如何从照片共享网站提取图像

    Mercurial:更新到修订版,但不修改本地文件

    mercurial - 找出给定两个提交哈希值的提交数

    mercurial - 如何使用 Mercurial Queues 重命名文件?

    mercurial - 限制 Mercurial 存储库访问

    ruby-on-rails - 将 Rails 应用程序推送到 Heroku 时缺少 "sqlite3.h"

    Git 推送 - 致命 : write error: Bad file descriptor