У меня есть муравей сценарий, который работает для Clearcase.Может ли кто-нибудь помочь мне преобразовать его в GIT - PullRequest
1 голос
/ 25 июня 2019

Я перевожу одно приложение из открытого дела в 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>

1 Ответ

1 голос
/ 25 июня 2019

Эквивалент для:

  • cleartool update будет git pull (при условии, что репозиторий Git уже клонирован)

Если вы действительно хотите обновить только один файл setenvs.bat, вам потребуется:

git fetch
git checkout HEAD -- setenvs.bat

git checkout - это , а не cleartool checkout (co): обновляет содержимое файла, а не «создает доступную для записи копию».
Смотрите " В чем разница между зарезервированной и незарезервированной проверкой? ", где я сравниваю ее с Git.

  • cleartool co -nc ...: нет необходимости, репозиторий Git доступен для чтения / записи локально. Нет необходимости "cleartool checkout".

  • cleartool ci: вам нужно будет добавить, зафиксировать и нажать

То есть:

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

Подробнее о разнице между ClearCase и Git в

...