У меня есть скрипт ant, который работает для clearcase. Может ли кто-нибудь помочь мне преобразовать его в 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>

person jon    schedule 25.06.2019    source источник


Ответы (1)


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

  • 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 см.

person VonC    schedule 25.06.2019
comment
Большое спасибо. Я постараюсь сообщить вам результат. Подскажите, пожалуйста, что делать с линией. ‹Значение аргумента = номер версии bump /› нужно ли его изменить? - person jon; 26.06.2019
comment
@jon: нет, это комментарий, который вы добавляете в свой коммит git (чтобы записать изменение). Я отредактировал ответ, чтобы отразить это. - person VonC; 26.06.2019
comment
Пожалуйста, помогите мне с этой ошибкой: - stackoverflow.com/questions/56786767/ - person jon; 27.06.2019