我有一个脚本位于我的工作副本的顶层,并希望将其用作Mercurial钩子。如果我使用钩子的绝对路径名,那么一切都很好,但是我想要一个相对路径名,这样整个东西就可以轻松移动,用于其他工作副本,其他开发人员可以按原样复制hgrc。
/space/project/.hg/hgrc包含
[hooks]
update = genid
genid脚本位于/ space / project / genid
如果我在/ space / project中,如果我的当前目录是/ space / project / src / tools,那么钩子被调用就好了,那么'hg update'会因为无法找到钩子而给出错误。
答案 0 :(得分:2)
在某些情况下,环境变量会在mercurial配置中进行扩展。因此,您可以查看是否可以使用环境变量。
[hooks]
update = $MercurialHooks/genid
中的常见问题(12)
答案 1 :(得分:2)
Python钩子不能使用相对路径。脚本钩子可以这样:
[hooks]
update = ./genid
答案 2 :(得分:0)
我有同样的问题,无法解决它。虽然解决方法很简单!我在repo中对文件进行了版本化,然后将其复制到我的.hg文件夹中!不理想,但它不可能改变,其他回购用户仍然可以获得文件的副本