5

作業コピーのトップレベルにあるスクリプトがあり、それをMercurialフックとして使用したいと思います。フックに絶対パス名を使用する場合はすべて問題ありませんが、他の作業コピーで使用したり、他の開発者がhgrcをそのままコピーしたりできるように、相対パス名が必要です。

/space/project/.hg/hgrcに含まれるもの

[hooks]
update = genid

genidスクリプトは/space/ project/genidにあります

/ space / projectにいる場合、フックは問題なく呼び出されますが、現在のディレクトリが/ space / project / src / toolsの場合、フックが見つからないため、「hgupdate」でエラーが発生します。

4

3 に答える 3

2

Python hooks cannot use a relative path. Script hooks can like this:

[hooks]
update = ./genid
于 2010-11-18T23:23:25.200 に答える
2

場合によっては、Mercurial 構成で環境変数が展開されます。したがって、環境変数を使用できるかどうかを確認できます。

[hooks]
update = $MercurialHooks/genid

https://www.mercurial-scm.org/wiki/TipsAndTricksの FAQ (12) を参照してください。

于 2010-11-18T21:59:44.760 に答える
0

私は同じ問題を抱えていて、それを解決できませんでした。しかし、回避策は簡単でした!リポジトリ内のファイルをバージョン管理し、.hg フォルダーにコピーしました。理想的ではありませんが、変更される可能性は低く、他のレポユーザーはファイルのコピーを取得できます

于 2014-02-10T14:38:59.927 に答える