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, скопировать только те файлы, которые мне нужны, в этот рабочий каталог, используя отфильтрованный, а затем этот каталог.

Другие вопросы по тегам