我已经使用命令行 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"
andjavahl="false"
应该让 svnant 使用命令行 svn。
那么这里发生了什么?我不应该在 svnant 调用中指定用户名/密码,因为命令行 svn 显然不需要它(它已被缓存)。