svnant обновить один файл с ошибкой пропущено - PullRequest
0 голосов
/ 05 июня 2018

Я хочу обновить содержимое файла из моей локальной папки до svn, обратите внимание, что файл существует в svn.

сначала я проверяю с пустой глубиной.затем я запускаю обновление для скрипта

<svn refid="svn.settings" logFile="${directory}/checkout_log.log">
        <checkout   url="${svn_path}" 
                    destpath="${full_path}"
                    revision="HEAD" depth="empty"
        />
        <update  recurse="false" revision="HEAD" dir="D:\Update\SVNCheckout\T\" file= "test.sql" />

        </svn>

, однако в лог-файле его sayes

Skipped 'test.sql'
Summary of conflicts:
  Skipped paths: 1
<Update> finished.

хорошо, я понимаю, что есть конфликт, однако, как я могу svn resolve скрипт

1 Ответ

0 голосов
/ 05 июня 2018

Во избежание конфликтов лучше сначала проверить, а затем изменить извлеченный файл, а затем попытаться проверить его. Если это не удастся, удалите все временные файлы и повторите попытку.

Общеепроцедура выглядит следующим образом (используя Ant Contrib в качестве расширения для простого Ant):

<var name="finished" value="false" />
<for list="1,2,3,4,5,5,6,7,8,9,10" param="trynr">
  <sequential>
    <if>
      <equals arg1="${finished}" arg2="false" />
      <then>
        <echo message="#########################################" />
        <echo message="# trynr=@{trynr}" />
        <echo message="#########################################" />
        <trycatch property="errormsg" reference="exceptionObject">
          <try>
            <!-- Delete old checked out files -->
            <delete .../>
            <!-- Check out the file -->

            <!-- Modify the file -->

            <!-- Commit the file -->

            <var name="finished" value="true" />
          </try>
          <catch>
            <echo message="Update failed." />
            <echo message="Error message: ${errormsg}" />
            <if>
              <equals arg1="@{trynr}" arg2="10" />
              <then>
                <echo message="Giving up after @{trynr} attempts." />
                <fail message="Unable to update file. Giving up after @{trynr} attempts." />
              </then>
              <else>
                <echo message="Trying again in 2 seconds ..." />
                <sleep seconds="2"/>
              </else>
            </if>
          </catch>
        </trycatch>
      </then>
      <else />
    </if>
  </sequential>
</for>
...