【问题标题】:Mercurial hooks: How can I detect second head in a particular push?Mercurial hooks:如何在特定推送中检测到第二个头部?
【发布时间】:2016-12-15 11:00:26
【问题描述】:

我正在使用服务器端(远程)挂钩来防止特定类型的推送。 除此之外,我想禁止在 mercurial 存储库中创建新头的推送,即使它们是使用 --force 推送的。

我只能想到一种方法来实现这一点:只需遍历祖先并在有两个孩子的第一个祖先上失败。

这种方法确实有效,但如果有人能向我展示一种更优雅的方法来实现同样的效果,我会非常高兴。

【问题讨论】:

标签: mercurial hook mercurial-hook mercurial-api


【解决方案1】:

好的,事实证明它比我预期的要容易得多。基本上你只需要检查 repo repo 对象中的 head 数量,所以:

if repo.heads() > 1:
     return True

【讨论】:

  • 另外,您的第一个提案不允许分支即使合并并以单头结束,也不允许分裂,因为会有两个孩子的分叉点,因此被拒绝
  • @arhak 好点!在我们的例子中,虽然不允许合并,所以没有分叉之类的东西。
猜你喜欢
  • 2013-04-13
  • 2013-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
相关资源
最近更新 更多