如何在Mercurial中验证和实施提交消息?

问题描述 投票:3回答:1

使用正则表达式集验证提交消息所需的所有步骤是什么?我们希望在半集中式设置中工作,因此我需要开发人员克隆(local repository)和中央克隆(global repository)的解决方案。我读到了关于Mercurial Hooks但我有点迷失了如何将所有东西放在一起。

对于local repository,我需要一种在我的开发人员之间分发验证脚本的方法。我知道克隆时钩子不会传播,所以我需要一种在每个新克隆中“启用”它们的方法。它将作为我们在每个干净克隆上运行的PrepareEnvironement.bat脚本的一部分完成。

为了双重安全,我需要在我的global repository上进行类似的验证。不应该推入没有验证的global repository提交。我可以手动配置 - 这是一次性工作。

我在Windows上,所以不应该要求安装除TortoiseHG之外的任何东西。部署Mercurial已经是一场战斗。任何其他依赖项都不受欢迎。

mercurial commit policy commit-message mercurial-hook
1个回答
2
投票

您可以使用Spellcheck示例作为起点。在每个开发人员的配置中,您需要使用以下钩子:

pretxnchangegroup - 在一组更改集从另一个存储库进入本地之后运行,但在它变为永久存储之前运行。

pretxncommit - 在本地创建新变更集之后运行,但在变为永久变更集之前运行。

对于集中式仓库,我认为你只需要pretxnchangegroup钩子,除非提交也可以在服务器上发生。但是,如果远程仓库拒绝一个或多个被推送的变更集,则需要为每个开发人员提供Histedit扩展。此扩展允许他们“编辑”已提交的更改集。我认为在大多数情况下,本地钩子会遇到问题,但就像你说的那样,“以防万一。”

更多details about handling events with hooks可以在Hg Book找到。

© www.soinside.com 2019 - 2024. All rights reserved.