SVN ANT Add Task with force Option Дает уже находится под ошибкой сборки системы управления версиями

Используя 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:\Workspaces\TreXProjects\Build\testdir\New Text Document.txt' is already under version control

person urbushey    schedule 09.07.2012    source источник


Ответы (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>

Конечно, это означает, что вы не можете использовать атрибут «include» задачи <fileset> для просмотра определенных файлов, как хотел сделать автор проблемы, связанной с моим вопросом. Мой обходной путь здесь состоит в том, чтобы проверить рабочий каталог из SVN, скопировать только те файлы, которые я хочу, в этот рабочий каталог, используя отфильтрованный, а затем этот каталог.

person urbushey    schedule 09.07.2012