0
我正在寫一個從svn回購更新的ant腳本。但是,如果我第一次沒有從回購站手動完成結賬,更新不起作用。螞蟻SVN結帳或更新
我希望svnant能夠做到以下幾點: 如果svn checkout完成了,那麼更新 否則會執行svn checkout和update。
我正在寫一個從svn回購更新的ant腳本。但是,如果我第一次沒有從回購站手動完成結賬,更新不起作用。螞蟻SVN結帳或更新
我希望svnant能夠做到以下幾點: 如果svn checkout完成了,那麼更新 否則會執行svn checkout和update。
這裏有兩種方法 - method1,method2(如果bash中的語句縮短,那麼笨螞蟻屬性)。如果有.svn文件,兩者都有同樣的想法,那麼這意味着我們正在結帳,而且我們只會更新,如果.svn缺失,我們需要結賬。
<?xml version="1.0"?>
<project>
<target name="check-svn">
<available file=".svn" property="svn.present"/>
</target>
<target name="method1">
<antcall target="svnup"/>
<antcall target="svnco"/>
</target>
<target name="svnup" depends="check-svn" if="svn.present">
<exec executable="echo">
<arg value="svn update"/>
</exec>
</target>
<target name="svnco" depends="check-svn" unless="svn.present">
<exec executable="echo">
<arg value="svn checkout"/>
</exec>
</target>
<target name="method2">
<exec executable="bash">
<arg value="-c"/>
<arg value="if [ -e .svn ];then echo svn update; else echo svn checkout; fi"/>
</exec>
</target>
</project>
擊方式:
([ -e .svn ] && echo svn update) || echo svn checkout