コミットがメイン リポジトリにプッシュされるときに実行される Mercurial フックを作成しようとしています。以下のようにpythonスクリプトを作成しました。
# commit.py
Mercurial インポート ui、hg から
mercurial.i18n から gettext を _ としてインポート
def getV1ID(ui, repo, **kwargs):
ui.write("フックが機能します!!!")
v1id = ui.prompt('VersionOne ID を入力してください')
ui.write('VersionOne ID:'+v1id)
commit.pyコードがメイン リポジトリにプッシュされる前に実行する必要があるメカニズムが含まれているため、ブランチごとにこれが複製されます。これらの事前プッシュ メカニズムがパスした場合にのみ、プッシュが成功するはずです。ユーザーはローカルの commit.py を変更して、作業中のプロジェクトに応じてこれらの事前プッシュ操作のサブセットのみを実行し、各ユーザーが一度に複数のプロジェクトに作業することができます。そのため、フォルダーcommit.pyに常駐できるグローバル python スクリプトにすることはできません。.hg
Mercurial をローカルcommit.pyで実行するために、mercurial.ini ファイル (C:\Users\UserName\mercurial.ini 内) に次のステートメントを追加しました。
【フック】 prechangegroup = python:./commit.py:getV1ID
pythonスクリプトは、.hgフォルダー内に配置すると実行されますが、これを実行すると実行されません。この問題を明らかにするのを手伝ってくれる人はいますか? どうもありがとう。