如何使用Mercurial钩子的相对路径名

时间:2010-11-18 20:55:21

标签: mercurial hook

我有一个脚本位于我的工作副本的顶层,并希望将其用作Mercurial钩子。如果我使用钩子的绝对路径名,那么一切都很好,但是我想要一个相对路径名,这样整个东西就可以轻松移动,用于其他工作副本,其他开发人员可以按原样复制hgrc。

/space/project/.hg/hgrc包含

[hooks]
update = genid

genid脚本位于/ space / project / genid

如果我在/ space / project中,如果我的当前目录是/ space / project / src / tools,那么钩子被调用就好了,那么'hg update'会因为无法找到钩子而给出错误。

3 个答案:

答案 0 :(得分:2)

在某些情况下,环境变量会在mercurial配置中进行扩展。因此,您可以查看是否可以使用环境变量。

[hooks]
update = $MercurialHooks/genid

https://www.mercurial-scm.org/wiki/TipsAndTricks

中的常见问题(12)

答案 1 :(得分:2)

Python钩子不能使用相对路径。脚本钩子可以这样:

[hooks]
update = ./genid

答案 2 :(得分:0)

我有同样的问题,无法解决它。虽然解决方法很简单!我在repo中对文件进行了版本化,然后将其复制到我的.hg文件夹中!不理想,但它不可能改变,其他回购用户仍然可以获得文件的副本