Central Hg 在默认分支上有多个负责人,我该如何防止这种情况发生?

Central Hg has multiple heads on default branch, how can I prevent that?

在清理某个 Hg (Mercurial) 存储库时,我注意到一个旧版本(实际上是 4 年前)显示默认分支上的一个分支无处可去。

我认为不可能在同一个分支上分支(我的意思是,你可以在一个新分支上有一个新负责人,但不能在同一个分支上)。这里发生了什么,(当时为我工作的)程序员在这里做错了什么,更重要的是,如何预防?

它总是可能的(或者至少从 mercurial 0.9 左右开始); mercurial 不是 git 这样的事情处理起来要复杂得多。您可以在没有任何(命名的)分支的情况下工作,并且每个分支都有您想要创建的匿名头。只需更新到 non-head 版本并开始提交 - 瞧 - 你创建了一个新的 head.

编辑以添加: 如果您应用适当的 pretxnchangegroup hook 检查传入变更集中是否存在其他头,则可以防止向存储库添加其他头。有几个旧的 Whosebug 答案:

How do I prevent someone from pushing multiple heads?

How can I create a mercurial hook that prevents new heads?

仅举出两个