Рабочая копия XXX заблокирована и очистка не удалась в SVN



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




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




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




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




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

920   30  

30 ответов:

одним из подходов было бы:

  1. копировать отредактированные элементы в другое место.
  2. удалите папку, содержащую путь к проблеме.
  3. обновите папку, содержащую через Subversion.
  4. скопировать файлы или объединить изменения по мере необходимости.
  5. Commit

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

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

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

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

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

источник:http://www.svnforum.org/2017/viewtopic.php?p=6068

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

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

delete from WC_LOCK

screenshot showing all entries purged from WC_LOCK

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

самый простой способ когда-либо:

  1. на родительский каталог(папка) на проект.
  2. Pres щелкните правой кнопкой мыши
  3. нажать на TortoiseSVN нажмите клавишу очистить...
  4. диалог очистки появится автоматически
  5. выберите Clean up working copy status,Break locks,Fix time stamps,Vacuum pristine copies,Refresh shell overlays,Include externals
  6. Pres ОК

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

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

первый этап:

enter image description here

Шаг второй: Включите опцию блокировки разрыва (второй флажок во всплывающем окне Очистка) enter image description here

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

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

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

есть разные способы исправить это, в зависимости от того, как/почему каталог был заменен.

в любом случае, вам, вероятно, нужно:

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

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

оттуда, вы бы либо

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

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

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

enter image description here

этот работал на меня.

  1. перейдите в корневую папку,
  2. щелкните правой кнопкой мыши и очистки
  3. проверьте все доступные параметры
  4. нажмите ok

после очистки это позволит вам обновить до последней версии.

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

другие программы также могут держать файлы открытыми в репозитории, вызывающем эту проблему. Excel для проведения открытого XLS и был виновником в другом случае, поэтому может быть разумно закрыть все программы, которые могут использовать что-либо в РЕПО или даже перезагружаться, чтобы заставить программы закрываться, а затем снова пытаться очистить.

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

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

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

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

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

прежде всего, убедитесь, что вы резервное копирование всего отредактированного контента.

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

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

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

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

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

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

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

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

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

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

в версиях под Mac OS: Действие - > очистка блокировки рабочей копии at...

Я часто получаю такой вопрос. Мой шаблон, который вызывает проблемы очистки.

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

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

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

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

  1. проверьте все файлы, перечисленные ниже .svn / prop-базовый каталог
  2. удалите все файлы, которые не находятся под папка
  3. очистка
  4. обновление

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

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

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

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

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

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

на месте unversioning файлов, и свежий выезд в том же месте, решил эту проблему для меня.

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

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

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

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

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

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

в частности:

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

и:

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

Если вы на Linux, попробуйте это:

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

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

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

  1. переименовал папку нарушителя, поместив " _ " перед имя папки.
  2. сделал "очистку" родительской папки.
  3. переименовал папку-нарушитель обратно в исходное имя.
  4. не совершал.

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

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

  1. удалить .папка svn.

  2. выполните svncheckout в корневой папке.

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

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

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

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

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

Начать Поиск....Замок...Выделить все файлы и удалить..исправлено

Comments

    Ничего не найдено.