Ошибка SVN-ANT - "не рабочая копия" - PullRequest
1 голос
/ 23 декабря 2009

Я прочитал соответствующий вопрос перед отправкой этого вопроса, но не смог найти точный вопрос, который имеет ту же проблему, что и мой.

Я пытаюсь настроить автоматизацию в окне Windows. У меня есть цель ant для обновления, и я использовал eclipse в качестве редактора Java-разработки. В Windows установлено svn-клиента (TortoiseSVN) , и я использовал это для получения новой проверки из своего хранилища, как только проект был извлечен, я выполнил цель ant. Результат был следующим.

    C:\svncheckout\Automation>ant update-svn
    Buildfile: build.xml

    update-svn:
          [svn]  started ...
          [svn] svn: 'C:\svncheckout\Automation' is not a working copy
          [svn] svn: Cannot read from 'C:\svncheckout\Automation\.svn\format': C:\svncheck
    out\Automation\.svn\format (The system cannot find the file specified)
          [svn] svn: 'C:\svncheckout\Automation' is not a working copy
          [svn] svn: Cannot read from 'C:\svncheckout\Automation\.svn\format': C:\svncheck
    out\Automation\.svn\format (The system cannot find the file specified)
          [svn]  failed !

    BUILD FAILED
    C:\svncheckout\Automation\build.xml:198: Cannot update dir C:\svncheckout\Automation

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

<!-- target to update working copy -->
<target name="update-svn">
     <svn svnkit="true" javahl="false" username="guest" password="guest">
         <update dir= "${checkout}/Automation" revision="HEAD"/>
     </svn>
</target>

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 10 апреля 2012

Может быть проблема совместимости между svn и svnant. Например

SVN - версия SVN, версия 1.6.15 (r1038135) составлено 24 ноября 2010 г., 15: 10: 19

TortoiseSVN 1.6.12, сборка 20536 - 32-разрядная, 2010/11/24 20:59:01 Subversion 1.6.15, апр 1.3.8 апрель 1.3.9 неон 0.29.5 OpenSSL 0.9.8p 16 ноября 2010 zlib 1.2.3

апач-муравей 1.7.0 \ bin \ ant -version Apache Ant версия 1.7.0, скомпилированная 13 декабря 2006 года

В сочетании с svnant-1.2.1.zip генерирует ошибку с «рабочей копией» и отсутствующим файлом формата .svn /. Если svnant-1.3.1.zip проблема, проблема не возникает.

1 голос
/ 13 января 2010

У меня была такая же проблема. В моем случае это можно решить, просто переключившись на javahl.

<svn svnkit="false" javahl="true">
    <update dir="${source.dir}" revision="HEAD" />
</svn>        

Редактировать: Я думаю, что общая проблема коренится в рабочей области, создаваемой с более новой версией Subversion по сравнению с библиотекой, используемой в ant, в вашем случае SVNKit. Я предполагаю, что в моей системе javahl присутствует в достаточно недавней версии, тогда как SVNKit нет - так что переключение на javahl решило мою проблему. Вероятно, вы можете решить вашу проблему, обновив библиотеки SVNKit, используемые вашим скриптом муравья. Этот пост в Тигре также указывает в этом направлении.

1 голос
/ 25 декабря 2009

Сообщение об ошибке говорит само за себя. Ваш C:\svncheckout\Automation не является рабочей копией. Чтобы убедиться в этом, вы можете проверить, существует ли C:\svncheckout\Automation\.svn\format (а возможно, нет).

В какую папку вы заказали?

Может быть, вы выполнили операцию export вместо checkout? Или что папка .svn как-то удалена?

Может быть, вы зашли в другую папку (не C:\svncheckout\Automation)?

Может быть, папка Automation не существует в хранилище? (Вы можете проверить с помощью Repo-Browser TortoiseSVN.)

0 голосов
/ 13 января 2010

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

enter code here

<!-- target to update working copy -->
<target name="update-svn">
     <svn svnkit="true" javahl="false" username="username" password="password">
        <cleanup dir="${checkout}/myframework"/>
        <update dir= "${checkout}/myframework" revision="HEAD"/>
     </svn>
</target>

Я добавил очистку только svn cleanup, потому что мой ant-скрипт запущен, чтобы позаботиться об автоматизации процесса в hudson. Поэтому, чтобы избежать какого-либо процесса очистки, я решил добавить это.

...