4

これは非常に基本的な質問のようですが、私はノックアウトされています。フック目的で作成したスクリプトをテストする方法。

スクリプトがバックグラウンドで実行されていることがわかっているため、SVN コンソールからエラーのみが返されます。ブレークポイントを試しましたが、スクリプトに入力できるものはありません。

誰かがそれについて何か考えを持っていますか。Windows で svn フック スクリプトを作成しているため、既に作成されている多くのフック スクリプトが実行されていないか、必要な出力が得られません。たとえば、Apache の mime-type と eol スクリプトを確認してください。

4

1 に答える 1

6

私はあなたにいくつかのアドバイスを与えることができます:

  • に印刷する必要がありますSTDERR。これが、スクリプトがエラーを報告する唯一の方法です。これを実際のテストに使用できます。
  • -tコマンド ライン パラメータまたはコマンド ライン パラメータの両方を取るように、プリコミット スクリプトを作成しました-r。pre-commit フックとして実行する場合、-tパラメーターを使用してトランザクション番号を渡すことができます。コマンド ラインから実行する場合は、-rパラメーターを使用して、実行対象のリビジョン番号を指定できます。
  • また、コマンド ライン パラメーターdebugを設定したときに情報を出力できる関数も作成しました。-debugこれをオンまたはオフにすることができました。
  • フックを実際にテストしている場合は、リポジトリのコピーを使用pre-commitし、終了コード2. トランザクションをコミットすることはありませんが、プレコミット スクリプトで何が起こっているか (つまり、すべてを STDERR に出力した場合) にメッセージが表示されます。

私が開発中のフック スクリプトを見て、アイデアを得ることができます。Data::Dumperスクリプト内のデータ構造を出力するのに役立つ Perl モジュールを使用しています。

于 2011-11-28T21:00:30.193 に答える