Ant SVN签出或更新
我正在编写从svn repo更新的ant脚本。但是,如果我没有首先从回购协议中手动执行签出,则更新不起作用 我希望svnant执行以下操作: 如果svn签出完成,则更新Ant SVN签出或更新,svn,ant,svn-checkout,Svn,Ant,Svn Checkout,我正在编写从svn repo更新的ant脚本。但是,如果我没有首先从回购协议中手动执行签出,则更新不起作用 我希望svnant执行以下操作: 如果svn签出完成,则更新 否则请执行svn签出和更新 这里有两种方法-method1和method2(如果bash中的语句是shorten-then-ant属性,则使用if)。两者都有相同的想法,如果有.svn文件,那么这意味着我们正在签出,我们只进行更新,如果缺少.svn,我们确实需要进行签出 <?xml version="1.0"?> &
否则请执行svn签出和更新 这里有两种方法-method1和method2(如果bash中的语句是shorten-then-ant属性,则使用if)。两者都有相同的想法,如果有.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