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

scanf оставляет пробел во входном буфере, включая символы новой строки. Чтобы использовать fgets для чтения следующей строки, вам нужно вручную удалить оставшуюся часть текущей строки:

int c;
do{
    c = getchar();
}while(c != EOF && c != '\n');
577
задан 4 revs, 3 users 65% 13 May 2013 в 08:16
поделиться

16 ответов

Один подход был бы к:

  1. Копия отредактировала объекты к другому местоположению.
  2. Удаляют папку, содержащую проблемный путь.
  3. Обновление содержание папки посредством Подрывной деятельности.
  4. Копия Ваши файлы назад или слияние изменяется по мере необходимости.
  5. Фиксация

Другая опция состояла бы в том, чтобы удалить высокоуровневую папку и проверить снова. Надо надеяться, это не прибывает в это все же.

515
ответ дан 3 revs, 2 users 96% 13 May 2013 в 08:16
поделиться

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

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

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

Так или иначе, Вы, вероятно, должны будете:

А Переименовывают существующий каталог к временному имени

, B) Делают SVN возвращается для восстановления каталога, удаленного из файловой системы, но не из SVN

Оттуда, Вы были бы любой

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

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

48
ответ дан 2 revs, 2 users 92% 13 May 2013 в 08:16
поделиться

Вы используете TortoiseSVN и просто обновленные? У меня была та проблема прежде при перемещении от 1,4 до 1,5 и не перезагрузка. (Попробуйте перезагрузку).

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

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

2
ответ дан Adam 13 May 2013 в 08:16
поделиться

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

  1. Проверка, любые файлы перечислены в соответствии с .svn/prop-base каталогом
  2. , Удаляет любые файлы, которые не находятся под папкой
  3. Очистка
  4. Обновление

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

1
ответ дан lud0h 13 May 2013 в 19:16
поделиться

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

1
ответ дан 13 May 2013 в 19:16
поделиться

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

2
ответ дан 22 November 2019 в 22:09
поделиться

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

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

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

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

209
ответ дан 22 November 2019 в 22:09
поделиться

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

3
ответ дан 22 November 2019 в 22:09
поделиться

For me, the trick was to run svn cleanup at the top of my working copy, not in the folder where I'd been working the whole time before the problem occurred.

473
ответ дан 22 November 2019 в 22:09
поделиться

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

6
ответ дан 22 November 2019 в 22:09
поделиться

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

3
ответ дан 22 November 2019 в 22:09
поделиться

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

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

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

7
ответ дан 22 November 2019 в 22:09
поделиться

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

1
ответ дан 22 November 2019 в 22:09
поделиться

нужно сделать следующее:

svn status | grep ". L" | sed 's/.* (.*)$/\1/' | awk '{print length($1),$1}' | sort -nr | awk '{print "pushd " $2 "; svn cleanup ; popd"}' | sh

1
ответ дан 22 November 2019 в 22:09
поделиться

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

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

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

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

1
ответ дан 22 November 2019 в 22:09
поделиться

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

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

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

0
ответ дан 22 November 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: