Ошибка копирования рабочей копии в черепахе svn при совершении

Я использую Tortoise SVN для обновления и фиксации изменений в репозитории на сервере всякий раз, когда я вношу изменения в свою рабочую копию. Но через несколько дней я не могу зафиксировать изменения, и я получаю следующую ошибку, когда пытаюсь зафиксировать.

Working copy 'C:\Program Files\EasyPHP\www\project\php' locked.
'C:\Program Files\EasyPHP\www\project' is already locked.

Я попытался разблокировать папку, щелкнув ее правой кнопкой мыши и выбрав Tortoise SVN > Release lock, он говорит

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

В чем может быть проблема?

Ответ 1

Нет проблем... попробуйте следующее:

  • Перейдите в папку SVN верхнего уровня.
  • Щелкните правой кнопкой мыши по папке (с вашими svn файлами) > TortoiseSVN > CleanUp

Это, безусловно, решит вашу проблему. Я сделал это много времени...:)

Примечание. Убедитесь, что в диалоговом окне "Очистка" выбрана опция "Блокировки блокировки".

Ответ 2

Принятый ответ не помог мне. Чтобы исправить эту проблему, мне пришлось щелкнуть правой кнопкой мыши файл, который был заблокирован, выберите repo-browser. Это открыло всплывающее окно с файлами, которые находятся на сервере SVN. Затем я щелкнул правой кнопкой мыши по заблокированному файлу и выбрал break lock.

Когда я закрыл браузер хранилища, вернусь к проводнику, я мог бы наконец совершить!

Ответ 3

  • Щелкните правой кнопкой мыши папку.
  • TortoiseSVN- > Проверить изменения.
  • Нажмите кнопку Проверить репозиторий.
  • Блокировка блокировки для всех возвращенных файлов.

Ответ 4

Я столкнулся с этой проблемой. Для некоторых я хотел бы указать, что если он заблокирован ПРОВЕРИТЬ С ВАШЕЙ КОМАНДЫ. Кто-то из команды может заблокировать некоторые вещи, потому что они работают над этим (это позволяет разработчикам работать над вещами, не входящими в другие, и пытаться работать с одним и тем же контентом). Если это так, освобождение блокировки и последующее обновление могут потерять данные для разработчика, который заблокировал его.

Учитывая это, моя забота заключалась в том, что вариант "очистить" мог бы изменить мою рабочую копию или удалить информацию с уровня репо Subversion. Это не относится к делу. Ответ работал на меня. Мое закрылось, когда я нажал кнопку "Отменить" в середине обновления. Я закончил тем, что вытащил некоторые из наших веток, и мне не нужен материал, поэтому я ударил. Моя рабочая копия закрылась. Я не мог найти какие-либо документы, которые появились как "заблокированные", когда я использовал команду "release блокировки". Это оставило меня озадаченным, и после некоторого быстрого чтения (и этой темы) я попытался выполнить команду "очистить". После очистки он разрешил мою проблему, и ничего больше не было заблокировано.

источник: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

Ответ 5

В SVN имеется несколько значений "блокировка" , и некоторые из этих ответов, которые говорят о "блокировке блокировки" или товарище по команде, удерживающее блокировку, не используют соответствующее значение для исходного вопроса. Этот вопрос касается "рабочих блокировок" (т.е. Они полностью локальны для рабочей копии на вашем компьютере и не имеют никакого отношения к вам или к товарищам по команде, содержащим блокировку/выписку из файла). Принятый ответ MicroEyes ссылается на правильное использование и является вашим лучшим вариантом, когда это происходит.

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

См. эту страницу в документах SVT Tortoise для описания трех способов использования "блокировки": http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

Выдержка (выделено мной):

Три значения "Блокировка"

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

Вторая блокировка рабочей копии, используемая внутри Subversion для предотвращать столкновения между несколькими клиентами Subversion, работающими на ту же рабочую копию. Обычно вы получаете эти блокировки всякий раз, когда команда вроде update/commit/... прерывается из-за ошибки. Эти блокировки могут быть удален, запустив команду очистки рабочей копии, так как описанный в разделе "Очистка".

...

Ответ 6

Я понятия не имел, какой файл имеет блокировку, поэтому я решил выйти из этой проблемы:

  • Перейти в папку с наивысшим уровнем
  • Нажмите очистку, а также , отмеченную с помощью методов очистки → Блокировки блокировки

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

Ответ 7

Я пробовал разные вещи, в том числе "Очистить" в нижних подкаталогах. Наконец, я попробовал обновить папку верхнего уровня. Ничего. Затем я прочитал подсказку "Очистить верхний уровень". Я попробовал это. Убирать часть удалось, но замок остался. Мое решение состояло в том, чтобы вернуться на верхний уровень, очистить, а затем очистить каждую красную (!) Папку, которую я мог бы развернуть до. В конце концов, "Cleaned up", обновление работало отлично. Точка "блокировки блокировки" также выглядит хорошо, за исключением того, что у кого-то из вашей команды может быть законная блокировка вещей.

Ответ 8

Мне удалось заблокировать себя из файла в svn - не знаю, как это сделать, но когда я попробовал (повторно) -заблокировать блокировку (Tortoise показывал параметр "Get Lock" для файла), он жаловался, что уже был замок. Я попытался удалить файл и зафиксировать изменение каталога - тот же результат. Я попробовал CleanUp (включая обновление оверлея), но это тоже не удалось.

Решение заключалось в том, чтобы войти в репо-браузер Tortoise, найти файл и использовать функцию break lock.

Ответ 9

Решение для Windows:

https://sourceforge.net/projects/win32svn/

1.Загрузите его, затем добавьте его в системный путь.

2. В рабочем каталоге выполните "svn clean" и "svn update" в cmd.