在Mercurial中有标签规则引擎吗?我想强制使用标签名。例如。标签版本2.4.我想有一种方法来强制“版本”在标签名中不重要什么?
谢谢。
发布于 2014-07-02 01:59:48
您可以在pretag挂钩上添加一些验证。有关这个线程的一些信息:Mercurial hook to set policy on tag names
..hg/hgrc: pretag.badtagname =python:..hg/hgcheck.py:localbadtag .hg/hgcheck.py: goodtag_re =r‘(ver-\d+.\d+.\d+\d+)$’def localbadtag(ui、repo、钩子类型、节点、**kwargs):断言(钩子类型== 'pretag') re_ = re.compile(goodtag_re)如果不是re_.match(标签):ui.warn(‘无效标签名"%s".\n’% tag) ui.warn(‘使用提示之一,Xx.xx.xx\n‘)返回True返回False
这里有一些钩子示例:https://www.mercurial-scm.org/wiki/HookExamples
您还可以考虑在您的发布管理过程中强制执行这些规则,即提供构建脚本,其中版本被作为输入、验证,然后将版本放在最终标记名称的前面。它不会限制人们直接使用无效的名称进行标记,但通常自动发布/构建过程会节省大量的时间和错误,因此没有人希望返回手动过程。
理想情况下,这都是集中在您的CI服务器,所以您不依赖自定义钩子,需要安装在每个Mercurial安装。
https://stackoverflow.com/questions/24521639
复制相似问题