mercurial - 为什么 Mercurial 有时允许与祖先 merge ?

标签 mercurial merge branch dvcs

我对this repo history感到困惑。在该页面上,您会看到一个小分支 file-content merge 回分支 default即使其中一个头是另一个头的祖先。

<罢工> 当我尝试做类似的事情时,我会收到一条中止消息,除非

    <罢工>
  1. 侧分支已关闭并且
  2. 我从祖先 merge 到闭合分支头(但不是相反)。 (在此抓取存储库中, file-content 分支被标记为不活动,而不是关闭。)

编辑:我的答案中描述了您可以与祖先 merge 的真实条件。

那么这是怎么回事?

最佳答案

奇怪的是,这方面的记录很少,但是如果您点击 https://www.mercurial-scm.org/wiki/Merge 底部的链接,您会看到反对与祖先 merge 的规则有一个异常(exception)。正如我最初猜测的那样,它并不要求后代是一个封闭的分支。相反:

  1. 您必须从祖先 merge (即工作目录必须更新到祖先,而不是其他变更集)
  2. 工作目录的父目录和要 merge 的变更集的分支名称必须不同。例如。一个具有默认分支名称,另一个具有分支名称 feature-X

这让我们能够启动一个新分支并将其 merge 回来,即使我们在此期间没有对原始分支进行任何操作。

关于mercurial - 为什么 Mercurial 有时允许与祖先 merge ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821135/

相关文章:

eclipse - 如何从受密码保护的站点更新 Eclipse 插件?

mercurial - 如何将hg命令的输出结果保存在文件中?

r - 如何基于字符串匹配合并(加入)数据框?

git - 有没有办法让 Git 将文件标记为冲突?

sql - 如何将 Excel 数据转换为 SQL 插入?

git - 在 git 中切换分支名称

macos - 无法将分支推送到 github "Use git@github.com:Paratron/spacebattles.git"

git - 从 Mercurial 迁移到 Git 并轻松返回?

eclipse - 禁用 MercurialEclipse

git - 如何在多分支项目中格式化代码?