SVN ANT "Добавить" задание с "принудительной опцией" Дает "уже находится под контролем версии" ошибка сборки
Используя ANT и SVNANT, я хочу проверить в рабочем каталоге, который содержит смесь файлов, контролируемых svn, и новых файлов и подкаталогов. Согласно моему пониманию задачи добавления SVN ANT, использование флага "force", как я указал ниже, должно сделать что-то похожее на 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:\Workspaces\TreXProjects\Build\testdir\New Text Document.txt' is already under version control
1 ответ
Наконец-то все заработало сразу после того, как я написал это, перечитав документацию, на которую я ссылался. Как часть использования флага "force" с <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, скопировать только те файлы, которые мне нужны, в этот рабочий каталог, используя отфильтрованный, а затем этот каталог.