使用ANT和SVNANT,我想检查一个混合了svn控制文件和新文件和子目录的工作目录。根据我对SVN ANT "add" task的理解,使用下面的“force”标志应该执行类似于svn add --force *
基本上,我在CollabNet网站的this issue中遇到了同样的问题。
这是我的xml配置:
<target name="add-new-files-to-test-repo" depends="check-out-projects">
<svn username="${svn.test.username}" password="${svn.test.password}" svnkit="true" javahl="false">
<add
force="true" >
<fileset dir="${svn.testdir}"/>
</add>
</svn>
<echo message="Adding new files to SVN"/>
</target>
给出回复:
svn: 'D:\Workspaces\TreXProjects\Build\testdir\New Text Document.txt' is already under version control
答案 0 :(得分:2)
通过重新阅读我链接的文档,在我写完这篇文章之后,最终得到了这个工作。关于在<add>
任务中使用“force”标志的部分表示:
(仅在设置了dir属性时适用。)
所以我的固定代码是:
<target name="add-new-files-to-test-repo" depends="check-out-projects">
<svn username="${svn.test.username}" password="${svn.test.password}" svnkit="true" javahl="false">
<add force="true" dir="${svn.testdir}" >
</add>
</svn>
<echo message="Adding new files to SVN"/>
</target>
当然,这意味着您无法使用<fileset>
任务的“include”属性进行浏览
对于特定文件,作为我的问题中链接的问题的作者想要做的。我的解决方法是查看工作目录
SVN,使用过滤将我想要的文件复制到该工作目录中
然后那个目录。