是否有任何分布式SCM插件禁止推送不符合特定条件的代码(例如最小测试覆盖率)?
答案 0 :(得分:3)
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks表示对于服务器端检查,您可以使用更新挂钩。
当然,您应该将挂钩放在中央主存储库中。
答案 1 :(得分:2)
您可以使用pre-commit / pre-changeset hook来执行此操作。
hgrc Man Page有一些信息。可能更好的是hg book section on hooks。
答案 2 :(得分:2)
在mercurial中,您需要使用hooks。最有可能在服务器端使用控制挂钩pretxnchangegroup
。这是一个钩子的一个很好的例子,可以阻止某人做一个创建多个头的推送:http://hg.netbeans.org/nb-hooks/file/tip/forbid_2head.py
答案 3 :(得分:1)
目前的答案都是针对Mercurial;使用git,还有钩子,你需要预接收或更新钩子。有关信息,请参见githooks手册页。
小心使用它们来检查测试覆盖范围之类的内容 - 您不希望用户在尝试推送时必须等待耗时的测试才能运行。