我们现在正从Subversion迁移到Mercurial。在Subversion中,有可能将自定义列添加到日志中(例如bug id)并强制用户在每次提交时填充此列。 是否可以在Mercurial中实现此功能?
答案 0 :(得分:3)
是的,这是可能的。
但在你去做之前,为什么要求bug修复提交消息坚持某种模式呢?
即。 util: rename the util.localpath that uses url to urllocalpath (issue2875)
(摘自Mercurial的回购)
然后,您可以在中央存储库上安装一个钩子,用于扫描传入的提交消息,并在找到该模式时执行所需的操作。
此外,为什么要在每次提交时强制执行此操作?对于只应该修复错误的QA团队来说这是什么?如果是这种情况,那么为模式提交消息的预提交钩子听起来是合适的。
如果您仍然需要额外的字段:当Mercurial提交某些内容时,可以将字符串字典传递给它,您可以填充任何字符串。请参阅transplant扩展程序,了解如何执行此操作。您还需要包装commit
命令并为其添加新的命令行选项。
但我强烈建议你在此之前再三考虑,因为除了编码,测试(以及Mercurial版本之间的维护)所涉及的耗时工作外,您还需要确保将其部署在Mercurial的每个环境中使用。