我正在尝试运行构建脚本,并且在特定的svn任务期间我一直遇到错误。当我尝试从命令行构建目标时,出现身份验证错误。当我从flex builder运行构建时,我得到一个错误,说“请获得一个更新的Subversion客户端”。据我所知,在执行ant -verbose时可以看到根本问题:
svn_update:
[echo] Updating the project source...
[svn] Using javahl
[svn] <Update> started ...
[svn] update /Users/dave/Documents/Flex Builder 3/AssetLibrary -r HEAD --force
[svn] At revision 373.
[svn] <Update> finished.
[ant] Exiting /Users/dave/Documents/Flex Builder 3/Simulation/build-template/commonbuild.xml.
[ant] Exiting /Users/dave/Documents/Flex Builder 3/AssetLibrary/build.xml.
[echo] Updating DataService Source
...
svn_update:
[echo] Updating the project source...
[svn] Using command line
[svn] <Update> started ...
[svn] up -r HEAD /Users/dave/Documents/Flex Builder 3/DataService --non-interactive
[svn] svn: OPTIONS of 'https://svn.example.com/{redacted}': authorization failed: Could not authenticate to server: ignored NTLM challenge, rejected Basic challenge (https://svn.example.com)
[svn] <Update> failed !
[ant] Exiting /Users/dave/Documents/Flex Builder 3/Simulation/build-template/commonbuild.xml.
[ant] Exiting /Users/dave/Documents/Flex Builder 3/DataService/build.xml.
[ant] Exiting /Users/dave/Documents/Flex Builder 3/Simulation/build.xml.
如您所见,第二个(失败的)svn_update目标是使用命令行,第一个(工作)更新是使用javahl。我使用的是svn的默认属性,因此默认使用javahl。
我将我的svnant罐子更新为1.3.0。
会喜欢这个帮助!
戴夫
答案 0 :(得分:0)
引起我注意的第一件事是javahl并没有在与最后一个目录相同的目录上调用更新:
/Users/david.marr/Documents/Flex Builder 3 / AssetLibrary
VS
/Users/david.marr/Documents/Flex Builder 3 / DataService
可能存在一些其他SVN问题,你只是得到一个误导性的错误信息。另外,你确定url https://svn.frogdesign.com/ {redacted}正在被解析正确吗? “{redacted}”对我来说看起来不像ANT语法,也不像常规网址。
答案 1 :(得分:0)
也许您的命令行客户端太旧了,服务器在允许连接的客户端上有版本控制约束? svn --version
说什么?
答案 2 :(得分:0)
我通常会在非交互模式下使用svn update时遇到Could not authenticate to server: ignored NTLM challenge, rejected Basic challenge
错误(例如:svn update --non-interactive > output.txt
)以及我的NT或Active Directory密码发生变化时。解决此问题的方法是首先运行svn update > output.txt
,然后提示您输入密码。提供后,您将获得以下
Authentication realm: <http://svnserver:80> SVN Server
Password for 'siacca':
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:
<http://svnserver:80> SVN Server
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/cygdrive/u/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
一旦完成(我和你在一起,我不喜欢以未加密的方式存储我的密码,但这是我可以运行自动夜间svn更新的唯一方法),你应该能够在非运行svn更新 - 交互模式。