使用ANT和SVNANT,我想签入一个混合了svn控制的文件、新文件和子目录的工作目录。根据我对SVN ANT"添加"任务的理解,使用下面的"强制"标志应该做一些类似于svn add --force *
的事情
基本上,我在CollabNet网站上遇到了本期文章中描述的相同问题。
这是我的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:WorkspacesTreXProjectsBuildtestdirNew Text Document.txt' is already under version control
在我写下这篇文章后,通过重新阅读我链接的文档,终于让它正常工作了。如关于在<add>
任务中使用"强制"标志的部分所示:
(仅在设置了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,使用已筛选的然后是那个目录。