コマンドラインSVNを使用してコードをチェックアウトしました。実行したいAntビルドスクリプトがあり、完了時にコミットを実行します。
次のようなsvnantを使用したい
<svn svnkit="false" javahl="false" failonerror="true">
<commit dir="${dir}" message="${message}"/>
</svn>
しかし、それは機能せず、このエラーを引き起こします
[svn] <Commit> started ...
[svn] svn: Commit failed (details follow):
[svn] svn: OPTIONS of 'http://svn.local/path/to/my/proj': authorization failed (http://svn.local)
[svn] <Commit> failed !
ただし、このように直接execを実行すると
<exec executable="svn">
<arg line="commit ${dir} -m '${message}'"/>
</exec>
それはうまくいくでしょう。奇妙なことに、とを使用するsvnkit="false"
とjavahl="false"
、svnantにコマンドラインsvnを使用させることになっています。
では、ここで何が起こっているのでしょうか。コマンドラインsvnは明らかにそれを必要としないので(キャッシュされている)、svnant呼び出しでユーザー名/パスワードを指定する必要はありません。