使用一组正则表达式验证提交消息需要哪些步骤?
我们希望在半集中式设置中工作,因此我需要一个针对开发人员克隆(本地存储库
)和中央克隆(全局存储库
)的解决方案。我读到Mercurial Hooks但我有点迷失如何将所有东西放在一起。
对于本地存储库
,我需要一种在开发人员之间分发验证脚本的方法。我知道克隆时钩子(Hook)不会传播,所以我需要一种方法在每个新克隆中“启用”它们。它将作为我们在每个干净克隆上运行的 PrepareEnvironement.bat
脚本的一部分完成。
为了双重安全,我需要对我的全局存储库
进行类似的验证。应该不可能推送到未验证的全局存储库
提交。我可以手动配置它 - 这是一次性工作。
我使用的是 Windows,因此安装除 TortoiseHG 之外的任何内容不应该被要求。已经是一场争夺Mercurial的战斗了。部署。不欢迎任何其他依赖项。
最佳答案
您可以使用Spellcheck示例作为起点。在每个开发者的配置中,您需要使用以下钩子(Hook):
pretxnchangegroup
- 在一组变更集从另一个存储库引入本地之后、但在其成为永久之前运行。
pretxncommit
- 在本地创建新变更集之后但在其永久生效之前运行。
对于集中式存储库,我认为您只需要 pretxnchangegroup
Hook ,除非提交也可以在服务器上发生。但是,您将需要 Histedit如果远程存储库拒绝一个或多个正在推送的变更集,则为每个开发人员提供扩展。此扩展允许他们“编辑”已经提交的变更集。我认为在大多数情况下,本地钩子(Hook)会捕获问题,但就像你说的,“以防万一。”
关于mercurial - 如何在 Mercurial 中验证和强制执行提交消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7506559/