0
/usr/bin/svn update /var/project2_test/debug --username XXXX--password XXXX
/bin/echo $REV >> /var/project2_test/svn.log

コミット中にログが更新されました。ただし、作業コピーは更新されません。/home/admin/svn/project/hooks/post-commit を手動で実行します。できます!

4

1 に答える 1

0
  1. コミット後のフック (実際には任意のフック)
    • 空の環境での実行
    • 手動で実行するよりも、別のユーザー資格情報で実行する (使用する SVN サーバーのユーザー)
  2. とにかく、フックのスクリプトを実際の状況で (フックとして) デバッグする必要があります。それを行うには、
    • コマンドの出力を傍受updateする (stdout を stderr にリダイレクトすることにより)
    • コミットを実行するユーザーにこの出力を表示します。つまり、stderr はフックでエラーが発生した場合にのみユーザーにマーシャリングされるため、ゼロ以外の終了コードでフックを終了する必要があります。

デバッグ段階のフックは次のようになります

/usr/bin/svn update /var/project2_test/debug --username XXXX --password XXXX > &2
/bin/echo $REV >> /var/project2_test/svn.log
exit 1
于 2013-08-28T11:01:36.190 に答える