我正在将一个应用程序从明确的案例迁移到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=""bump version number""/>
<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=""bump version number""/>
<arg value="setenvs.bat"/>
</exec>
</try>
<catch>
<echo>Increment build number failed: ${exception}</echo>
<antcall target="buildfailed"/>
<fail>${exception}</fail>
</catch>
</trycatch>
</target>
答案 0 :(得分:1)
等效于:
cleartool update
将是git pull
(前提是已经克隆了Git存储库)如果您真的只想更新一个文件setenvs.bat
,则需要:
git fetch
git checkout HEAD -- setenvs.bat
git checkout
不是 cleartool checkout (co)
:它更新文件内容,而不是“创建可写副本”。
请参阅“ What is the difference between a reserved checkout and an unreserved checkout?”,我将其与Git进行比较。
cleartool co -nc ...
:不需要,一个Git存储库在本地读写。不需要“ cleartool checkout
”。
cleartool ci
:您需要添加,提交和推送
也就是说:
git add setenvs.bat
git commit -m "bump version number"
git push
有关
中ClearCase和Git之间的区别的更多信息