gpt4 book ai didi

svn - 使用不带用户名或密码的svnant

转载 作者:行者123 更新时间:2023-12-02 04:18:59 24 4
gpt4 key购买 nike

我已经使用命令行SVN checkout 了代码。我有一个要运行的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 executable="svn">
<arg line="commit ${dir} -m '${message}'"/>
</exec>

它将正常工作。奇怪的是,应该使用 svnkit="false"javahl="false"使svnant使用命令行svn。

那么这是怎么回事?我不必在svnant调用中指定用户名/密码,因为命令行svn显然不需要它(已被缓存)。

最佳答案

一种简单,可靠的解决方案是将所需的svn用户名和密码存储在主目录中的build.properties文件中,设置权限,以便其他用户都无法读取它,并将其加载到您的ant脚本中。

我依靠构建脚本中的身份验证缓存,这很烦人,因为迟早不会缓存身份验证,或者会缓存错误的身份验证,并且您会浪费时间来尝试找出问题所在。或者,您可能决定在其他环境(例如构建服务器)中运行ant,这使得难以提供svn的身份验证缓存。最好从文件和程序ant加载身份验证信息,以便在缺少该文件时发出清晰的消息。

您也可以尝试使用svnkit命令行客户端来缓存身份验证,并查看通过ant使用该身份验证是否仍然有效。

该线程讨论相同的问题:http://www.nabble.com/svnant-and-authentication-td17865407.html

关于svn - 使用不带用户名或密码的svnant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/883872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com