TortoiseSVN не разрешит мне добавлять файлы

Я пытаюсь добавить файлы в репозиторий SVN с помощью TortoiseSVN 1.8.1. Я нажимаю правой кнопкой мыши на файлы и выбираю TortoiseSVN- > Добавить. Затем я выбираю все файлы в появившемся окне и нажимаю OK. После нажатия кнопки "ОК" появляется другое диалоговое окно, и все файлы, как представляется, будут успешно добавлены, потому что он говорит "Добавлено" рядом с каждым файлом и, наконец, говорит "Завершено!". внизу. Я нажимаю OK, а затем правой кнопкой мыши на родительский каталог и нажимаю "Commit". Я заполняю окно сообщения и проверяю, что все файлы, которые я добавил, отмечены, и все они говорят "добавлено" под "статусом". Наконец, я нажимаю "ОК". Появится окно, как обычно, говоря: "Вы не ввели номер проблемы", и я нажимаю "Продолжить без номера проблемы". В появившемся окне появится строка с надписью "Добавление" с файлом, который я пытаюсь добавить, а затем:

Error: Commit failed (details follow):  
Error: File '%Path to my file%' is  
Error:  out of date  
Error: File '%File name%' already exists  
Error: You have to update your working copy first.  

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

Я проверяю репозиторий, и там нет файла с именем файла добавляемого файла.

Все вышесказанное было через gui. Используя командную строку, я получил следующее:

svn status:
svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

svn cleanup 5.0.1:
svn: E155009: Failed to run the WC DB work queue associated with '%PathToBaseRepoFolder%', work item 12841 (sync-file-flags 56 %Path to another file I was unable to add from the base repo folder%)
svn: E720003: Can't set file '%Full path to the other file I was unable to add%' read-write: The system cannot find the path specified.

Если я делаю обновление и очистку от gui, он говорит, что оба они успешны.

Мы используем http://

Я считаю, что права правильны.

Ответы

Ответ 1

Проблема заключалась в том, что я обновился до версии 1.8.1 с ошибкой. Я загрузил версию 1.8.0 и отлично работает.

Ответ 2

Случилось со мной пару теперь много раз с TortoiseSVN 1.8.2 - 1.8.10. Я нашел этот пост в блоге, который решил эту проблему один раз, пока она не появится снова. Меня это так разозлило, что я написал быстрый файл bat script, который я запускаю с рабочего стола.

Предпосылки

  • Загрузите и распакуйте sqlite3 инструмент оболочки, например. sqlite-shell-win32-x86-3080803.zip
  • Отрегулируйте пути в приведенных ниже командах, чтобы они соответствовали вашей среде.

Исправить (вручную)

Запустите это, если вы просто хотите проверить, помогает ли это

  • В CMD do C:\Downloads\sqlite3.exe "C:\src\.svn\wc.db"
  • После запуска оболочки sqlite delete from WORK_QUEUE;
  • Запустите черепаху svn clean

Исправить (автоматизировано)

Если предыдущий шаг работал на вас, рассмотрите возможность автоматизации процесса с помощью этих шагов

  • Перейдите в папку .svn, например. C:\SRC \.svn
  • Скопировать инструмент оболочки sqlite3 там
  • Создайте файл fix-svn.bat в этой папке
  • Вставьте код сценария и настройте пути

    "C:\src\.svn\sqlite3.exe" wc.db "delete from WORK_QUEUE"
    "C:\Program Files\TortoiseSVN\bin\svn" cleanup "C:\src"
    
  • Сохраните файл bat и сделайте ярлык на рабочем столе

  • В следующий раз, когда вам нужно его исправить, просто запустите ярлык на рабочем столе

Ответ 3

Хорошо, я не знаю, может ли это быть проблемой. Я пропустил эту ошибку, когда используются редкие проверки. Вы можете настроить файлы, которые вы видите во время проверок, с помощью флага --depth и обновлений с помощью флага --set-depth. Если вы --set-depth=exclude в определенных файлах, вы увидите эту ошибку, если попытаетесь добавить файл.

Попробуйте это из командной строки. Из ROOT вашего рабочего каталога:

$ svn cleanup
$ svn update --set-depth=infinity
$ svn status

Убедитесь, что все три команды работают. Затем попробуйте фиксацию.

Ответ 5

sudo svn cleanup 

решить мою проблему