2010-09-22 33 views
2

我正在寻找使用SVN ANT创建目录,但仅当目录不存在时才如此(如果指定了一个目录,则使用mkdir嵌套任务与SVN ANT似乎失败目录已经存在)。确定目录是否已经存在使用SVN ANT

是否有一个isExists标志或类似的东西,我可以在这里使用?或者我可以使用其他东西来检测SVN存储库上的现有目录,然后继续通过ANT脚本创建我的目录?

对此的任何想法将不胜感激。

干杯,

斯图尔特

回答

0

available任务,您可以设置依赖于一个文件或目录是否存在

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

<target name="mkdir" unless="desired-dir-exists"> 
    <svn> 
     <mkdir path="src/desired_dir"/> 
    </svn> 
</target> 
+0

他指的是SvnAnt任务,而不是“简单的蚂蚁” – Grodriguez 2010-09-23 10:14:43

0

两个选项的属性:

  1. 您可以将failonerror属性设置为false。这样,如果目录存在,将会打印一条错误消息,但构建不会中止。

    <svn failonerror="false"> 
        <mkdir path="..." message="..."/> 
    </svn> 
    
  2. 如果你想避免你可能需要做一些更复杂的,如先进行结帐/更新错误信息,然后检查你的工作副本,看看目录要创建已存在。

+0

好的谢谢你们的反馈,我会试试你的建议。 – sjwb 2010-09-24 09:27:19

3

你想使用svnExists condition。这允许你做这样的事情(使用Ant-的contrib)

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

注:使用mkdir当所有的中介目录必须已经存在。

+0

+1链接到svnExists – mgaert 2012-02-17 17:06:36

+1

哎呀,似乎现在是最高层次:http://subclipse.tigris.org/svnant/conditions.html#svnexists – mgaert 2012-02-17 17:11:10