首页 > 解决方案 > 我有适用于 clearcase 的 ant 脚本。谁能帮我把它转换成 GIT

问题描述

我正在将一个应用程序从明确的案例迁移到 GIT。编写构建脚本以增加构建编号,并针对明确的情况编写。现在我必须让它为 GIT 工作。任何人都可以帮助我修改下面的代码以使其适用于 GIT。我已将可执行路径更改为 GIT.exe。所以我只是帮助将明确的大小写命令转换为 GIT。

<target name="decBuildNo">
    <trycatch property="exception">
        <try>
            <exec dir="${basedir}\calcBuild" executable="${cleartool}" failonerror="true">
                <arg value="update"/>
                <arg value="setenvs.bat"/>
            </exec>
            <!-- update the build number in setenvs.bat and check in-->
            <exec dir="${basedir}\calcBuild" executable="${cleartool}" failonerror="true">
                <arg value="co"/>
                <arg value="-c"/>
                <arg value="&quot;bump version number&quot;"/>
                <arg value="setenvs.bat"/>
            </exec>
            <decrbuild buildNumberKey="CALCMGR_BUILD_NO" fileName="${basedir}\calcBuild\setenvs.bat"/>
            <exec dir="${basedir}\calcBuild" executable="${cleartool}" failonerror="true">
                <arg value="ci"/>
                <arg value="-c"/>
                <arg value="&quot;bump version number&quot;"/>
                <arg value="setenvs.bat"/>
            </exec>
        </try>
        <catch>
            <echo>Increment build number failed: ${exception}</echo>
            <antcall target="buildfailed"/>
            <fail>${exception}</fail>
        </catch>
    </trycatch>
</target>

标签: gitantclearcaseclearcase-automation

解决方案


相当于:

如果您真的只想更新一个文件setenvs.bat,则需要:

git fetch
git checkout HEAD -- setenvs.bat

git checkout不是:它更新文件内容,它不会“创建可写副本” 请参阅“保留结帐和未保留结帐之间有什么区别? ”,我在其中将其与 Git 进行了比较。cleartool checkout (co)

那是:

git add setenvs.bat
git commit -m "bump version number"
git push

查看更多关于 ClearCase 和 Git 之间的区别的信息


推荐阅读