2010-09-22 93 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