Как использовать относительный путь к крючку Mercurial - PullRequest
5 голосов
/ 18 ноября 2010

У меня есть скрипт, который находится на верхнем уровне моей рабочей копии, и я хотел бы использовать его в качестве крючка Mercurial.Если я использую абсолютный путь к хуку, то все в порядке, но я хочу относительный путь, чтобы все это можно было легко перемещать, использовать в других рабочих копиях, а другие разработчики могут копировать hgrc как есть.

/ space / project / .hg / hgrc содержит

[hooks]
update = genid

Сценарий genid находится в / space / project / genid

Хук вызывается просто отлично, если я нахожусь в / space /проект, но если мой текущий каталог - / space / project / src / tools, то «hg update» выдаст ошибку, так как хук не найден.

Ответы [ 3 ]

2 голосов
/ 19 ноября 2010

Python-хуки не могут использовать относительный путь. Хук скриптов может выглядеть так:

[hooks]
update = ./genid
2 голосов
/ 19 ноября 2010

В некоторых случаях переменные среды раскрываются в конфигурации Mercurial.Таким образом, вы можете проверить, можете ли вы использовать переменную окружения.

[hooks]
update = $MercurialHooks/genid

См. Faq (12) в https://www.mercurial -scm.org / wiki / TipsAndTricks

0 голосов
/ 10 февраля 2014

У меня была такая же проблема, и я не смог ее решить. Обойти это было легко, хотя! Я версировал файл в репозиторий и просто скопировал его в мою папку .hg! Не идеально, но вряд ли это изменится, и другие пользователи репо все равно смогут получить копию файла

...