Определение, если каталог уже существует, используя SVN ANT - PullRequest
2 голосов
/ 22 сентября 2010

Я хочу создать каталог с помощью SVN ANT, но только в том случае, если каталог еще не существует (использование вложенной задачи mkdir с SVN ANT может завершиться ошибкой, если указать каталог, который уже существует).

Есть ли флаг isExists или что-то в этом роде, которое я могу использовать здесь?Или что-то еще, что я могу использовать, чтобы обнаружить существующие каталоги в репозитории SVN, прежде чем я продолжу создавать свои каталоги с помощью сценария ANT?

Любые мысли по этому поводу будут высоко оценены.1008 *

Стюарт

Ответы [ 3 ]

3 голосов
/ 11 января 2011

Вы хотите использовать условие svnExists .Это позволяет вам сделать что-то вроде (Использование ant-contrib)

<if>
    <not><svnExists target="..."/></not>
    <then>
        <svn>
            <mkdir url="..." message="Creating a directory" />
        </svn>
    </then>
</if>

Примечание: все промежуточные каталоги уже должны существовать при использовании mkdir.

0 голосов
/ 23 сентября 2010

Два варианта:

  1. Для атрибута failonerror можно установить значение false.Таким образом, если каталог существует, будет напечатано сообщение об ошибке, но сборка не будет прервана.

    <svn failonerror="false">
        <mkdir path="..." message="..."/>
    </svn>
    
  2. Если вы хотите избежать сообщения об ошибке, вам, вероятно, потребуется сделатьчто-то более сложное, например, сначала выполнить проверку / обновление, а затем проверить вашу рабочую копию, чтобы узнать, существует ли каталог, который вы хотите создать.

0 голосов
/ 22 сентября 2010

Задача доступный позволяет задать свойство в зависимости от существования файла или каталога

<available property="desired-dir-exists" file="src/desired_dir"/>

<target name="mkdir" unless="desired-dir-exists">
    <svn>
        <mkdir path="src/desired_dir"/>
    </svn>
</target>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...