是否可以检测提交是否通过.hgrc中的挂钩创建新书签或分支?
我试过看看是否可以找到使用hg日志,但它只显示了提交已创建的分支/书签:http://hgbook.red-bean.com/read/customizing-the-output-of-mercurial.html
似乎没有钩子:http://hgbook.red-bean.com/read/handling-repository-events-with-hooks.html
我认为没有钩子是有意义的,因为它也不可能进行“只是”创建分支的提交,指示分支/书签只有在添加到特定时才存在提交。
我想我可以在每次提交之前和之后检查hg分支和hg书签,并确定哪些被删除和添加,但有没有更清晰的方法来检测分支/书签添加/删除?
答案 0 :(得分:2)
pushkey
和prepushkey
挂钩可以检测书签的添加,删除和移动。
在hgrc:
[hooks]
prepushkey=echo %HG_NAMESPACE% %HG_KEY% %HG_OLD% %HG_NEW%\n >> out.txt
HG_NAMESPACE
将包含" bookmark"并且HG_KEY
将包含书签的名称。
HG_OLD
将包含操作之前书签的提交哈希值。如果正在创建书签,则无法设置。
HG_NEW
将包含操作后书签的提交哈希值。如果正在删除书签,则无法设置。
答案 1 :(得分:0)
hg branch
的结果(请参阅“合并分支”和“合并集”) - 而且我对此案例并不好用且易于使用解决方案< / LI>
precommit
挂钩(在提交之前执行并可以启用|禁用提交)来测试提交中的不同条件或或pretxncommit
hg log -T
-r tip
和tip的父级来使用commit的数据进行操作钩子身体的脏骨架
hg log -T "{KEYWORD}\n" -r "tip + tip^" | ....
其中KEYWORD可以是branch
或bookmarks
。日志的结果是两个字符串的输出,可以是相同的(不确定书签, TBT !! ),你必须比较(你想要和可以)
PS:受EnsureCommitPolicy Wiki和Mercurial pre commit hook topic启发的想法