【问题标题】:Update an SVN folder using ant script使用 ant 脚本更新 SVN 文件夹
【发布时间】:2016-06-01 21:30:11
【问题描述】:

假设我已签出文件夹 BuildI12 中的一个文件夹,并且我想使用 ant 更新它,我该怎么做。?
我不会如何在 ant 中创建自定义任务。

【问题讨论】:

  • 您能更好地解释一下“更新文件夹”的含义吗?你的意思是运行 svn 更新?
  • 是的,我已经签出了文件夹,然后想更新它。
  • 我的解决方案使用svnkit作为subversion客户端:stackoverflow.com/questions/16305315/…

标签: ant build automation


【解决方案1】:

如果我了解您的需求,并且您的意思是从自定义 ant 任务运行 SVN UPDATE,您可以执行以下操作:

<target name="svn_command" description = "run svn update command">
        <if> <os family="windows"/>
            <then>
                <exec dir="." executable="cmd.exe" outputproperty="svnlog.out" failonerror="true" >
                    <arg line="/c svn update"/>
                </exec>
            </then>
            <else>
                <exec executable="svn" outputproperty="svnlog.out">
                    <arg line=" update"/>
                </exec>
            </else>
        </if>
 </target>

显然,您可以做更多的技巧,使用占位符并创建可用于不同 SVN 操作的动态任务..

如果这符合您的需求,请告诉我。

【讨论】:

  • 请注意:使用 &lt;if&gt; 需要第三方 Ant-Contrib 库。为避免 Ant-Contrib,&lt;exec&gt; 任务具有 osfamily 属性,可确保 &lt;exec&gt; 仅在某些操作系统上运行。
  • 我不明白它是如何工作的。?我的意思是cmd.exe的目的是什么,我要写吗?
  • 此自定义目标适用于 windows 和 unix... 它说,如果系统是 windows 系统,请使用 cmd.exe 调用 svn 进程并运行更新命令,如果出现问题则失败并登录svnlog.out输出,如果不是windows系统,只需用参数更新调用可执行进程svn,你的意思是我必须写它?你的系统是基于unix还是windows?
猜你喜欢
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2012-11-12
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
相关资源
最近更新 更多