Ошибка при создании ветки или тега в SVN

С момента обновления до SVN 1.8 (на VisualSVN Server 2.6.2) всякий раз, когда я пытаюсь создать ветку (или тег), я получаю эту ошибку:

Не удалось КОПИРОВАТЬ /svn/[path] из-за невыполненного предварительного условия в источнике (например, блокировки). [424, #0]

Произошла ошибка в другом ресурсе, препятствующая выполнению запрошенной операции с этим ресурсом. [424, #0]

Это происходит только в одном репозитории — я обновил еще два, и они работают без нареканий, то есть: мы можем нормально разветвляться и тегировать. Любая идея, что может вызвать это?


person Krashlog    schedule 01.08.2013    source источник
comment
Вы обновили формат репозитория? svnadmin upgrade REPO_PATH.   -  person David W.    schedule 01.08.2013
comment
Да, это было сделано установщиком VisualSVN, но потом я сделал это вручную, на всякий случай.   -  person Krashlog    schedule 01.08.2013
comment
попробуйте сделать очистку svn?   -  person Dan Schnau    schedule 01.08.2013
comment
@Krashlog Установленный сервер VisualSVN не обновляет формат ваших репозиториев автоматически.   -  person bahrep    schedule 27.08.2013


Ответы (2)


Оказывается, сообщение об ошибке было правильным о наличии замка где-то в багажнике.

Как ни странно, блокировка не была видна моему клиенту (TortoiseSVN) - ни Release Lock, ни команда Cleanup не сообщили об этом. Я попробовал svnadmin lslocks и о чудо, в нем указан один файл конфигурации xml, заблокированный в... Январь 2012 года.

Похоже, обновление с SVN 1.6 до 1.8 каким-то образом заставило эту древнюю блокировку вернуться. Использование svnadmin rmlocks в этом файле решило проблему, и ветвление / пометка больше не дает сбоев. Просто чтобы убедиться, что я попытался заблокировать / разблокировать файл через TortoiseSVN, и теперь все работает нормально, т. Е. Список блокировок и т. Д.

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

person Krashlog    schedule 02.08.2013

Это известная ошибка, появившаяся в Apache HTTP Server 2.2. 25 модуль mod_dav. Обходной путь для этой ошибки будет доступен в следующем патче VisualSVN Server; он будет выпущен одновременно с Apache Subversion 1.8.3.

В качестве возможного обходного пути вы можете пометить ветку svn copy, используя file:// на сервере (другими словами, используйте локальный URL с протоколом file://). Это не рекомендуется, так как требует полного доступа к серверной машине и репозиторию, только администратор сервера должен выполнять это действие.

person bahrep    schedule 26.08.2013