に私は私の.git /フック/事前コミットファイルに次のように持ってPowerShellのGitのフック終了コード
#!/bin/sh
exec c:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -ExecutionPolicy RemoteSigned -Command " Get-Location | % { '$_\pre-commit-hook.ps1'} | % { & $_ }"
exit
これが正常に同じディレクトリにpre-commit-hook.ps1
ファイル内のコードを実行されますが、終了をキャプチャしていませんコード。 tldp.orgによると、exitだけが指定されている場合、最後の終了コードが返されます。終了コードが0でない場合、Gitフックは失敗しますが、powershellスクリプトがステータスコード1を返しても、常に成功します。フックが正しく機能するように、PowerShellスクリプトから終了コードを取得するにはどうすればよいですか?
ような何かをする必要がある場合があります::終了(1)'返すためにゼロ以外のコードを呼び出し側に返します。これが動作すれば私はそれを私の答えにします:-) –
nopeは動作しません。私はすでにスクリプトの中に 'exit 1'しか持っていませんでしたが、どちらもうまくいきませんでした。 –
私はあなたの可能性があると考えました...時には[動作しません](http://stackoverflow.com/questions/8902004/powershell -fails-to-return-proper-exit-code/8902329#8902329)。 –