Subversion Pre-Commit Hookスクリプトをデバッグするにはどうすればよいですか?
-
25-10-2019 - |
質問
これは非常に基本的な質問のようですが、私はノックアウトされています。フッキングの目的のために書いたスクリプトをテストする方法。
私たちが知っているように、スクリプトはバックグラウンドで実行されており、SVNコンソールでエラーのみが私たちに投げかけています。 Breakpointで試しましたが、スクリプトに入力を提供できるものは何もありません。
誰かがそれについて何か考えを持っていますか?私はWindowsでSVNフックスクリプトを書いています。たとえば、ApacheのMIMEタイプとEOLスクリプトをチェックすることなど、既に書かれたフックスクリプトが実行されていないか、希望の出力が与えられていないかどうかは多くあります。
解決
私はあなたにいくつかのアドバイスを与えることができます:
- に印刷する必要があります
STDERR
. 。これは、スクリプトがエラーを報告する唯一の方法です。これを実際のテストに使用できます。 - 両方のaを取るために、コミット前のスクリプトを書きました
-t
または-r
コマンドラインパラメーター。事前コミットフックとして実行するとき、私は-t
トランザクション番号を渡すパラメーター。コマンドラインから実行するとき、私は-r
パラメーターとそれに反対するリビジョン番号を指定します。 - 私も書きました
debug
設定したときに情報を印刷できる機能-debug
コマンドラインパラメーター。これをオンとオフにすることができました。 - 実際にフックをテストしている場合は、リポジトリのコピーを使用して、
pre-commit
シェルスクリプトは、の出口コードで終了することで失敗します2
. 。トランザクションをコミットすることはありませんが、事前にコミットのスクリプトにメッセージが表示されます。
いくつかのアイデアを得るために私が開発しているフックスクリプトを見ることができます。私は使用します Data::Dumper
私のスクリプトでデータ構造を印刷するのに役立つPerlモジュール。
所属していません StackOverflow