Папка заблокована, і я не можу її розблокувати


108

Коли я намагаюся оновити чи ввести код з проекту, він говорить мені, що папка заблокована. Коли я намагаюся "відпустити замок", він говорить, що в цьому робочому просторі немає чого розблокувати.

Що це означає? Чому я не можу оновити, здійснити чи навіть очистити проект.


Яку версію svn ви використовуєте?
Chriseyre2000

Збір для сховища, Tourtise SVN 1.7
Iyad Al aqel

Отже, у вас є папка .svn у кожному каталозі чи просто корінь?
Chriseyre2000

Ви спробували перевірити проект ще раз в окремій робочій копії?
Бернард

Так, він працює, якщо я перевіряю його в іншій папці, але база даних не відкривається
Iyad Al aqel

Відповіді:


161

Клацніть правою кнопкою миші на папці робочого каталогу Subversion і виберіть TortoiseSVN-> Очистити в контекстному меню. Це повториться шляхом вашої робочої директорії та очищення будь-яких неповних дій, видалення локальних замків (що відрізняється від використання Subversion-блокування файлу у сховищі, яке дозволяє всім знати про блокування).

Якщо це не працює, подивіться, чи зможете ви знайти імена файлів, які були змінені, але ще не здійснені, збережіть їх та повторіть замовлення.


28
У мене ця проблема і очищення не працювало (не вдалося очистити через локальний замок), але піднявшись до батьківської папки (яка також знаходилася під контролем версій) і виконати очищення там виправили цю проблему.
Malvineous

2
Ви можете зламати локальні замки, вибравши Break locksпараметр.
aagjalpankaj

1
Коментар @Malvineous дорогоцінний. Слід надіслати це як відповідь.
Ледачий ніндзя

16

Якщо файл був заблокований власноруч (той же обліковий запис svn), ви можете виконати наступні дії:

Клацніть правою кнопкою миші на заблокованому файлі чи папці та виберіть TortoiseSVN-> Get lock ... та поставте прапорець " [] Steal the locks " у нижньому лівому куті діалогового вікна та натисніть "OK". Якщо це завершиться успішно, це нормально. Клацнувши правою кнопкою миші знову, ви побачите TortoiseSVN-> Release lock ... , натисніть, щоб розблокувати.


12

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

Перед:

# svn commit -m "fixing #1234"

вчинити

# svn st

раніше

# svn cleanup

Після:

# svn st

після

# svn commit -m "fixing #1234"

після2


10

Для всіх, хто все ще має цю проблему ( помилка: робоча копія '{DIR}' заблокована. ), У мене є ваше рішення:

Я виявив, що, коли одне вікно TortoiseSVN виходить з ладу, воно залишає TSVNCache.exe, який все ще має кілька ручок до вашої робочої копії, і це викликає проблеми із блокуванням, які ви бачите (а також заважає Clean Up виконувати свою роботу).

Отже, щоб вирішити це:

Або

1a) Використовуйте Провідник процесів або подібний, щоб видалити ручки, що належать TSVNCache.exe

1b) .. Або ще простіше, просто скористайтеся диспетчером завдань, щоб убити TSVNCache.exe

Тоді

2) Клацніть правою кнопкою миші -> TortoiseSVN -> Очистити. Потрібно перевірити лише "Очищення стану робочої копії".

Звідти щасливе оновлення / вчинення. Ви можете відтворити поведінку блокування, виконавши оновлення SVN, а потім швидко знищивши процес TortoiseProc.exe до завершення оновлення.


8

Вперше у мене виникло це питання. Я навіть намагався перезапустити ПК, без ефекту. Це вирішує мою проблему:

Рішення для мене:

  1. Клацніть правою кнопкою миші на робочому довіднику проекту.
  2. Навігація по TortoiseSVN .
  3. Перейдіть до очищення .
  4. Залиште всі параметри за замовчуванням і поставте прапорець Перерва блокування
  5. Натисніть кнопку ОК

Це працює для мене. Я зміг здійснити зміни.


1
Якщо встановити прапорець "Блокування блокування", виправлено мою проблему.
Банкетешвар Нараян

Це ідеальна відповідь, яку я шукав. Дякую тонну
вамші кришна курелла

Це має бути правильна відповідь. Практично, легко і прямо до справи!
Оана-Олена Данеску

3

Щоб розблокувати файл у вашій робочій копії з командного рядка, який наразі заблокований іншим користувачем, скористайтеся --forceопцією.

$ svn unlock --force tree.jpg


Що робити, якщо я хочу розблокувати каталог?
ІгорГанапольський

@IgorGanapolsky Дайте ім'я каталогу замість імені файла у вищевказаній команді
manav

@IgorGanapolsky, яку помилку ви отримуєте. Дозвольте перевірити
манав

Вузол - це не файл !
ІгорГанапольський

3

У мене була ця проблема, і я зробив нижче кроки для її вирішення:

  1. Перейдіть до батьківської папки замість дочірньої папки
  2. Виберіть SVN очищення
  3. Натисніть кнопку ОК.

Зробіть цей крок у батьківській папці замість дочірньої папки!

Це працювало на мене!


1

Я переміщував папку вгору на один рівень і в іншу. Моя помилка - це переміщення з батьківської папки.

Поганий приклад:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVN потребує оновлення батьківського каталогу з інформацією про видалені папки.
Ви повинні зробити це із загального кореня папок джерела та призначення або використовувати повні шляхи.

Хороший приклад:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation

1

У мене була ця проблема, коли я не міг розблокувати файл із боку клієнта. Я вирішив перейти до суворої сторони, яка була набагато простішою.

На сервері SVN:

Знайдіть замки

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

Зніміть замок

 svnadmin rmlocks /root/of/repo “path/to/file” 

Це воно!


0

Рішення:

  1. Клацніть правою кнопкою миші на робочому довіднику проекту.
  2. Навігація по TortoiseSVN.
  3. Перейдіть до очищення.
  4. Виберіть Очистити стан робочої копії (зробіть галочку)
  5. Натисніть кнопку ОК
  6. Повторіть крок 1 і 2, після чого перейдіть, щоб випустити Блокування.
  7. Натисніть кнопку ОК. Блокування проекту відкриється.

0

Окрім відповіді Девіда М, виконуючи прибирання -> встановіть прапорець "зламати замки". Це забезпечить звільнення замків. Потім зробіть оновлення svn. Це працювало для мене.


0

Щоб розблокувати заблокований документ: 1. Клацніть правою кнопкою миші -> Блокування 2. Установіть прапорець "Викрасти замки" 2. Відпустіть замок


0

Я багато досліджую з цього питання, але жодне рішення не вирішує мою проблему, поки я не спробую це:

Мою папку repo надано у віртуальну машину Windows xp, тому я виконую очищення від VM, а потім виконую SVN UPDATE з хоста.

Це працювало для мене.

Привітання з Коста-Ріки.


0

Мені вдалося вирішити цю проблему на своїй машині, перейменувавши папки, щоб зменшити шлях папки.


-1

У мене це сталося після того, як Черепаха зіпсувалася і вийшла з ладу під час спроби оновлення папок. Я закінчив перевстановлення черепахи, але привид замок все ще був присутній. Звідти мені довелося видалити папку і зробити новий замовлення. Очевидно, мені пощастило, що я не мав жодних нових змін на той час. У всякому разі, не чудова новина, і якщо хтось має краще рішення, я хотів би почути це сам. Навіть використання "Блокування блокування", тобто розблокування за допомогою параметра "сила" нічого не змінило.


-1

Очистіть, поставте всі прапорець => Ця робота для мене


Те саме, що і Đức Thắng Nguyễn. Зробіть "надійний" прибирання.

-1

Я зіткнувся з цією проблемою після цих операцій:

  1. заблокувати папку
  2. змінювати файли
  3. видаліть файли та оновіть папки -> завантажені нові файли
  4. спробуйте здійснити або звільнити блокування

Нарешті я вирішив проблему, змусивши її знову заблокувати: TortoiseSVN -> Get Lock -> встановіть прапорець "украсти замок", а потім здійснити або відпустити замок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.