我想为Mercurial编写一个钩子来执行以下操作,我很难开始。:
因此,对于初学者来说,如何从“input”或“changegroup”钩子获取每次提交的提交消息?除此之外,关于如何实现其他要点的任何建议也将被指定。
感谢您的帮助。
答案 0 :(得分:2)
changegroup
一次。如果您想分析每个变更集,那么您希望incoming
挂钩(没有input
挂钩AFAIK) - 它将针对每个变更集进行调用,其中ID为HG_NODE
环境变量。您可以通过以下方式获取提交消息: hg log -r $HG_NODE --template '{desc}'
或通过API。
答案 1 :(得分:2)
您将需要使用为存储库中应用的每个变更集调用的incoming
挂钩(通过pull,push或unbundle)。
在调用脚本中,可以通过id
环境变量访问当前变更集HG_NODE
,在python中可以使用os.environ['HG_NODE']
访问它。
根据您的操作方式,请查看提供的bugzilla hook作为起点。