繁体   English   中英

Ant SVN Checkout或Update

[英]Ant SVN Checkout or Update

我正在编写从svn repo更新的ant脚本。 但是,如果我第一次没有从repo手动完成结账,则更新不起作用。

我希望svnant执行以下操作:如果已完成svn checkout,则更新else执行svn checkout并更新。

这里有两种方法 - method1,method2(使用来自bash的if语句缩短然后笨拙的ant属性)。 如果有.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>

Bash方式:

([ -e .svn ] && echo svn update) || echo svn checkout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM