如何在Mercurial中验证和实施提交消息?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Mercurial中验证和实施提交消息?相关的知识,希望对你有一定的参考价值。
使用正则表达式集验证提交消息所需的所有步骤是什么?我们希望在半集中式设置中工作,因此我需要开发人员克隆(local repository
)和中央克隆(global repository
)的解决方案。我读到了关于Mercurial Hooks但我有点迷失了如何将所有东西放在一起。
对于local repository
,我需要一种在我的开发人员之间分发验证脚本的方法。我知道克隆时钩子不会传播,所以我需要一种在每个新克隆中“启用”它们的方法。它将作为我们在每个干净克隆上运行的PrepareEnvironement.bat
脚本的一部分完成。
为了双重安全,我需要在我的global repository
上进行类似的验证。不应该推入没有验证的global repository
提交。我可以手动配置 - 这是一次性工作。
我在Windows上,所以不应该要求安装除TortoiseHG之外的任何东西。部署Mercurial已经是一场战斗。任何其他依赖项都不受欢迎。
您可以使用Spellcheck示例作为起点。在每个开发人员的配置中,您需要使用以下钩子:
pretxnchangegroup
- 在一组更改集从另一个存储库进入本地之后运行,但在它变为永久存储之前运行。
pretxncommit
- 在本地创建新变更集之后运行,但在变为永久变更集之前运行。
对于集中式仓库,我认为你只需要pretxnchangegroup
钩子,除非提交也可以在服务器上发生。但是,如果远程仓库拒绝一个或多个被推送的变更集,则需要为每个开发人员提供Histedit扩展。此扩展允许他们“编辑”已提交的更改集。我认为在大多数情况下,本地钩子会遇到问题,但就像你说的那样,“以防万一。”
更多details about handling events with hooks可以在Hg Book找到。
以上是关于如何在Mercurial中验证和实施提交消息?的主要内容,如果未能解决你的问题,请参考以下文章
如何在“hg com”期间获得mercurial来显示差异?