首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在执行cvs签出时覆盖现有文件

在执行cvs签出时覆盖现有文件
EN

Stack Overflow用户
提问于 2013-03-22 15:07:33
回答 2查看 1.5K关注 0票数 1

我有一个Ant脚本,它在每次需要部署应用程序时执行CVS- checkout。执行此操作的理想方法是先删除现有的本地代码,然后执行签出,但我似乎无法删除项目,因为我的构建文件也是其中的一部分。因此,我想要签出我的现有文件将被存储库中的文件替换。有没有办法强制执行cvs签出,从而覆盖现有文件?

我的构建目标如下所示

代码语言:javascript
复制
<target name="deploy.branch" depends="checkPropertyForBranch" if="branchPropertyExist">
        <record name="log.txt" action="start" />
        <echo message="${release.number}" />
        <antcall target="tag.branch" />
        <antcall target="checkout.branch" />
        <antcall target="stopJboss" />
        <antcall target="stopRemoteJboss" />
        <sleep seconds="10" />
        <antcall target="replaceTag" />
        <antcall target="deploy" />
        <antcall target="moveConfigFiles" />
        <antcall target="promote" />
        <parallel>
            <antcall target="startJboss" />
            <antcall target="startRemoteJboss" />
        </parallel>
        <antcall target="waitForWebSite" />
        <antcall target="mailSuccessBranch" />
        <record name="log.txt" action="stop" />
    </target>

结帐目标是这样的

代码语言:javascript
复制
 <target name="checkout.branch">
        <tstamp>
            <format property="CHECKOUT" pattern="M/d/yyyy, hh:mm:SS a, z" locale="en" />
        </tstamp>
        <property name="checkout_start" value="${CHECKOUT}" />
        <echo message="CVS checkout of BRANCH: ${branch_tag}" />
        <!--<delete dir="${basedir}"/>-->
        <cvspass cvsroot="cvsroot" password="*****" />
        <cvs cvsroot="cvsroot" command="co -r ${branch_tag} project"dest="${checkout.dir}"  />
    </target>

build.xml出现在project/scripts/build.xml中,其中basedir../ ie "project"

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-22 15:12:21

我认为比强制cvs签出更好的做法是在签出前删除文件。您可以使用<delete/>任务并排除不应删除的文件。试试这个:

代码语言:javascript
复制
<project name="cvs.test">

    <dirname property="base.dir" file="${ant.file.cvs.test}"/>

    <target name="cvs.checkout" depends="clean">
        <!-- here is the checkout -->
    </target>

    <target name="clean">
        <delete dir="${base.dir}">
            <exclude name="build.xml"/>
        </delete>
    </target>

</project>
票数 2
EN

Stack Overflow用户

发布于 2013-03-22 15:11:37

将构建脚本签入到项目中,然后可以删除源项目并签出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15564669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档