Подтвердить что ты не робот

Рабочая копия XXX заблокирована и очищена в SVN

Я получаю эту ошибку, когда я делаю svn update:

Рабочая копия XXXXXXXX заблокирована Пожалуйста выполните команду "Очистка"

Когда я запускаю очистку, я получаю

Очистка не смогла обработать следующие пути: XXXXXXXX

Как выйти из этого цикла?

4b9b3361

Ответ 1

Один из подходов:

  • Скопировать отредактированные элементы в другое место.
  • Удалить папку, содержащую путь к проблеме.
  • Обновите содержащую папку через Subversion.
  • Скопируйте файлы обратно или смените изменения по мере необходимости.
  • Фиксировать

Другой вариант - удалить папку верхнего уровня и снова проверить. Надеюсь, это не произойдет.

Ответ 2

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

Ответ 3

Посмотрите в свою папку .svn, там будет файл под названием lock. Удалите этот файл, и вы сможете обновить его. В каталоге .svn каждого подкаталога может быть больше файлов блокировок. Им также потребуется удаление. Это можно сделать в виде пакета довольно просто из командной строки, например,

find . -name 'lock' -exec rm -v {} \;

Обратите внимание, что вы вручную редактируете файлы в папке .svn. Их поместили не просто так. Эта причина может быть ошибкой, но если нет, вы можете повредить местную копию.

ИСТОЧНИК: http://www.svnforum.org/2017/viewtopic.php?p=6068

Ответ 4

В моем случае я решил это, вручную удалив запись в записи блокировки файла SQLite ".svn\wc" в таблице WC_LOCK.

Я открыл файл "WC" с помощью редактора SQLite и выполнил

delete from WC_LOCK

screenshot showing all entries purged from WC_LOCK

Следуя eakkas комментарию, вам может потребоваться удалить все записи из таблицы WORK_QUEUE.

Ответ 5

Самый простой способ:

  • Перейдите в Родительский каталог (Папка) Project.
  • Pres Щелкните правой кнопкой мыши
  • Нажмите TortoiseSVN, затем нажмите Очистить...
  • Диалоговое окно очистки появится автоматически
  • Выберите Clean up working copy status, Break locks, Fix time stamps, Vacuum pristine copies, Refresh shell overlays, Include externals
  • Pres OK

Вы успешно выполнили свою работу.

Проверьте снимки экрана для справки.

Первый шаг:

введите описание изображения здесь

Второй шаг: Включить опцию блокировки прерывания (второй флажок в всплывающем окне очистки) введите описание изображения здесь

Надеюсь, вам это очень поможет.

Ответ 6

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

Если это ваша проблема...:

Существуют различные способы его устранения, в зависимости от того, как/почему каталог был заменен.

В любом случае вам, скорее всего, понадобится:

A) Переименуйте существующий каталог во временное имя

B) Верните SVN, чтобы восстановить каталог, удаленный из файловой системы, но не из SVN

Оттуда вы будете либо

A) Скопируйте соответствующие файлы в каталог, который был удален

B) Если у вас была значительная смена содержимого в каталоге, выполните удаление SVN в оригинале, скопируйте и переименуйте новый каталог обратно в нужное имя, а затем добавьте SVN, чтобы получить его под контролем версии.

Ответ 7

Этот работал у меня.

  • Перейдите в корневую папку,
  • Щелкните правой кнопкой мыши и очистите
  • Проверить все доступные опции
  • Нажмите ok

После очистки вы сможете обновить до последней версии.

Ответ 8

Для меня ни один из вышеперечисленных решений не работал. Я нашел решение, разбив блокировки. Когда я выполнил очистку svn, я выбрал "Break Locks" вместе с "Очистить статус рабочей копии".

введите описание изображения здесь

Ответ 9

Для меня это была ошибка Черепахи, вроде. Черепаха просто жаловалась, что "не может очистить, запустить очистку", но когда я запустил командную строку (svn cleanup), он ясно сказал мне, что не может удалить некоторые файлы, которые были в использовании, решение, которое было очевидно. После того, как я закрыл Visual Studio (которая не открывала файлы), очистка работала нормально.

Другие программы также могут сохранять файлы в репо, что вызывает эту проблему. Excel с открытым доступом xls был виновником в другом экземпляре, поэтому может быть разумным закрыть все программы, которые могут использовать что-либо в репо или даже перезагрузить, чтобы заставить программы закрыться, а затем снова попробовать очистить.

Ответ 10

У меня была эта проблема, потому что внешние папки не хотят быть связанными с существующей папкой. Если вы добавите строку свойств svn: externals, где пункт назначения является существующей (версией или не версией) папкой, вы получите заблокированную ошибку SVN Woring Copy. Здесь очистка также расскажет вам, что все в порядке, но обновление не будет работать.

Решение: удалите тревожную папку из репозитория и сделайте обновление в корневой папке, где установлено свойство svn: externals. Это создаст папку, и все будет хорошо.

Эта проблема возникла для меня, потому что svn: externals для файлов требует, чтобы папка назначения контролировалась версией. После того, как я заметил, что это не работает в разных хранилищах, я перешел из внешних файлов во внешнюю папку и попал в этот беспорядок.

Ответ 11

Самый простой способ сделать это - показать скрытые папки, а затем открыть папку .SVN. Вы должны увидеть нулевой файл с именем "lock", который удалит это, устранит проблему.

Ответ 12

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

Прежде всего, сделайте резервную копию всего отредактированного содержимого.

Проведя пару часов (не перезагрузив все, так как моя ветка размером более 6 ГБ), я обнаружил, что в папке .svn вашей ветки есть файл db с именем wc.

Откройте файл db с помощью любого менеджера db (я использовал плагин firefox sqlite manager) и перейду в таблицу WC_LOCK. Эта таблица будет содержать записи для приобретенных блокировок. Удалите записи из таблицы, и все готово:)

Ответ 13

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

Ответ 14

Если вы находитесь на компьютере под управлением Windows, просмотрите репозиторий через браузер, и вы можете увидеть два файла с одинаковым именем файла, но в разных случаях. Subversion чувствительна к регистру, а Windows - не так, вы можете получить блокировку, когда Windows думает, что она вытаскивает тот же файл, а Subversion - нет. Удалите дубликаты имен файлов в репозитории и повторите попытку.

Ответ 15

Я сделал это, просто создав новую папку, проверив проект, скопировав обновленные файлы в новую папку.

Он был исправлен с новой проверкой.

Ответ 16

Используете ли вы TortoiseSVN и просто обновляетесь? Раньше у меня была эта проблема при переходе с 1.4 на 1.5 и не перезагрузка. (Попробуйте перезагрузить компьютер).

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

В противном случае, просто перейдите, экспортируйте эту рабочую копию в новую папку (не копируйте скрытые папки .svn), повторно проверьте проект и переместите весь свой код обратно, а затем приступайте к фиксации.

Ответ 17

просто удалите папки .svn, а затем запустите очистку в родительском каталоге. Прекрасно работает!

Ответ 18

В версиях под Mac OS: Действие → Очистка рабочих блокировок копирования при...

Ответ 19

Я часто получаю такую ​​проблему. Моя модель, которая вызывает проблемы с очисткой.

  • Я открываю файл изображения в программе просмотра.
  • Я удаляю файл/папку изображения.
  • Я пытаюсь зафиксировать/обновить

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

В общем. Я считаю, что перезапуск компьютера может помочь в таких случаях.

Ответ 20

SVN обычно обновляет свою внутреннюю структуру (.svn/prop-base) файлов в папке до того, как фактические файлы будут извлечены из репозитория. После того, как файлы будут извлечены, это будет очищено. Часто возникает ошибка, потому что "обновление" не выполнено или преждевременно отменено во время обновления.

  • Проверьте, что файлы указаны в каталоге .svn/prop-base
  • Удалите все файлы, которые не находятся в папке
  • Cleanup
  • Update

Теперь обновление должно работать.

Ответ 21

Имела ту же проблему, потому что я экспортировал папку в папку с версией. Пришлось удалить папку из TortoiseSVN, а затем удалить папку из файловой системы (TortoiseSVN не любит невключенные вложенные папки... почему бы и нет???)

Ответ 22

Не удаляйте свое решение!

в папке .svn у вас есть файл с именем lock, длина которого составляет 0 байт

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

Он работал в моем случае

Ответ 23

Если вы работаете в Linux, попробуйте следующее:

find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R

Затем запустите команду cleanup в этом каталоге, затем попробуйте обновить.

Ответ 24

Невердизация файлов на месте и новая проверка в том же месте решили эту проблему для меня.

В TortoiseSVN, чтобы сделать in-place unversioning, перетащите корневую папку рабочей копии из списка файлов на себя в дереве каталогов и выберите "SVN Export versioned items here" из всплывающего меню, TortoiseSVN замечает, что пункт назначения совпадает с исходным, и предлагает отказаться от рабочей копии.

После разворачивания сделайте новую проверку в той же папке (которая теперь содержит неверсированную копию всех файлов, которые у вас были). TortoiseSVN предупредит вас, что вы просматриваете существующую папку, но можете продолжить.

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

Одно предупреждение: если рабочая копия содержит смешанные версии или незавершенные изменения свойств, эта информация будет потеряна. Для меня это не обычное явление, и, учитывая выбор коррумпированной рабочей копии или потери неприменимых изменений свойств, я склоняюсь к выбору последних.

Ответ 25

У меня была эта проблема, когда "очистка" работала, но "обновление" продолжало сбой. Решение, которое работало, состояло в том, чтобы удалить указанную папку через Проводник Windows, а не TortoiseSVN delete (который отмечает удаление как что-то для фиксации в репозитории, а затем я сделал "checkout", чтобы существенно "обновить" папку из репозитория.

Дополнительная информация о различии между удалением O/S и SVN удаляется здесь: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html

В частности:

Когда вы TortoiseSVN → Удалите файл, он сразу же удаляется из рабочей копии, а также помечен для удаления в репозитории при следующем коммите.

и

Если файл удаляется через проводник вместо использования контекстного меню TortoiseSVN, диалоговое окно фиксации отображает эти файлы и позволяет удалить их из контроля версий еще до фиксации. Однако, если вы обновите рабочую копию, Subversion обнаружит отсутствующий файл и заменит его последней версией из репозитория.

Ответ 26

Я сделал следующее, чтобы исправить мою проблему:

  • Переименовал нарушающую папку, поставив "_" перед имя папки.
  • Была ли "Очистка" родительской папки.
  • Переименовал поврежденную папку обратно в исходное имя.
  • Сделал фиксацию.

Ответ 27

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

Ответ 28

Сделать очистку

  • Удалите папку .svn.

  • Сделайте svncheckout в корневой папке.

  • Попробуйте выполнить операцию очистки.

Это позволило решить мою проблему.

Ответ 29

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

Чтобы обойти это, так как я только что создал папку, я удалил ее в репозитории, а затем сделал фиксацию. Он работал нормально.

Так как я сделал это за пределами Visual Studio, мне пришлось перезапустить Visual Studio, чтобы он все понял.

Ответ 30

Начать поиск.... Блокировать... Выбрать все перечисленные файлы и удалить..fixed