我正在使用 SVN ANT 版本 1.3.1、ANT 1.7.1、Java 1.6u,并且 SVN 存储库是 1.6(我认为 -prod\db\format
文件显示为“4”。)
我有两个 SVN 目标(我想知道在“复制”任务尝试执行之前“提交”任务是否没有完成,这就是为什么我将它作为我的 build.xml 的一部分引用。)
我正在尝试将发布标记为生产版本(对于依赖 SVN-ANT 的 ANT 构建来说,这似乎是一项相当常见的任务,对吧?)我可以在命令行上执行以下操作:
svn copy http://svnserver/svn/prod/Production/App \
http://svnserver/svn/prod/Archive/App/1.5 \
-m "Tagging Release of App as Version 1.5"
我当然明白了
Committed revision 27.
但是,当我尝试:
<target name="check-in" >
<svn refid="svn.settings">
<commit message="${application.name} - Committed to Prod" >
<fileset dir="${src.dir}">
<include name= "**/*"/>
</fileset>
</commit>
</svn>
</target>
<target name="tag-version-number" depends="check-in" >
<svn refid="svn.settings">
<copy
srcUrl="http://svnserver/svn/prod/Production/App/"
destUrl="http://svnserver/svn/prod/Archive/App/1.5/"
message="Tagging Release of App as Version 1.5">
</copy>
</svn>
</target>
我回来了奇怪的错误:
check-in:
tag-version-number:
[svn] svn: File not found: revision 28, path '/Production/App/Production/App'
[svn] svn: '/svn/prod/!svn/bc/28/Production/summons' path not found: 404 Not Found (http://svnserver)
[svn] svn: File not found: revision 28, path '/Production/App/Production/App'
[svn] svn: '/svn/prod/!svn/bc/28/Production/summons' path not found: 404 Not Found (http:/svnserver)
[svn] <Copy> failed.
BUILD FAILED
C:\build\promote_prod.xml:210: Can't copy
他们让我认为,在尝试访问 SVN 存储库上的路径之前,提交可能没有完成?如果是这样,我该怎么做才能确保它等待提交通过?在我添加这个新的“tag-version-number”目标之前,一切都很好(并且,为了记录,这是构建脚本中唯一一次运行目标“check-in”。)
问题是别的吗?