3

問題:どうやら.git / hooksディレクトリのスクリプトは、次のいずれかに一致するファイル名に依存しているようです。

post-commit
pre-commit
pre-rebase

など..。

Linuxボックスで実行可能で実行可能である限り、「shebang行」はファイルの実行方法を示すため、「ファイル拡張子」の概念は必要ありません。

問題は、Windowsボックスで実行したいスクリプトがある場合です。

質問: Windowsマシンで理解できるフックスクリプトを実行する方法はありますか?

4

3 に答える 3

3

私はこれに遅れをとっていることを知っていますが、解決策があります。Python を使用している場合は、「.py」を PATHEXT 環境変数 (コントロール パネル、システム、詳細設定、環境変数) に追加します。特定のスクリプト言語についても同様です。次に、フックに post-commit.py、pre-commit.py などの名前を付けます。プログラムが Windows に特定のディレクトリで「コミット後」ファイルを実行するように要求すると、Windows は一致するファイルが見つかるまで PATHEXT を順番に調べます。その後、「post-commit.extension」が実行されます。私はずっと前に Windows の svn フックでこれを行いました。

于 2010-08-03T21:52:20.233 に答える
1

Windows には、拡張子のないファイルを実行するという概念がないと思います。回避策は、1) シバン ビジネス全体が機能する bash で Cygwin git を使用するか、2) シバン行自体を実際に解析して適切なインタープリターをロードする Windows git バージョンをハックすることです。後者に対するあらゆる種類の哲学的反論を見ることができるので、それは起こらないと思います...

于 2010-02-19T20:23:08.523 に答える
0

私は実際にオプション3に落ち着きました):

gitを呼び出し、実行したい関連フックを呼び出すWindows の「ラッパー」スクリプトを作成します。欠点は、標準のフック ファイルのみを使用できれば、git が自動的に行うようにラッパー プログラムを構成する必要があることです。

于 2010-02-19T20:53:28.467 に答える