1

Как я могу найти файлы, которые я заблокировал, в дереве SVN, которое настолько велико (десятки тысяч файлов), что я хочу избежать проверки всего:
Могу ли я сделать svn <magic arguments> | grep <MyUserName> чтобы найти заблокированные мной файлы?

Альтернативный вопрос: могу ли я снять все свои блокировки (разблокировать все файлы) в дереве SVN одновременно?

svn status работает только после проверки и
svnadmin lslocks полезен только на сервере, к которому у меня нет доступа.

2 ответа2

0

Хотя rrirower технически прав в отношении svnadmin lslocks , вы можете подумать о возможных альтернативных путях

  1. Единовременное действие "Получить полный WC" (может быть получено на локальной ФС сервера, то есть относительно быстро и перемещено в виде дерева файлов в конечный пункт назначения) приведет вас к svn st -u (все заблокированы в файлах репо)

  2. svn ls -R -v /REPO/ROOT

С помощью --verbose для каждого элемента будут отображаться следующие поля:

Revision number of the last commit
Author of the last commit
If locked, the letter 'O'.  (Use 'svn info URL' to see details)
Size (in bytes)
Date and time of the last commit

С обоими методами вы получите только указание на блокировку (имя заблокированного файла), знак, который вам нужно будет расширить с помощью svn info URL/TO/LOCKED/FILE и извлечь Lock Owner: XXX строку из вывода (возможно, использовать XML-вывод командных и XML-осведомленных инструментов)

Ответьте на альтернативный вопрос

Да, вы можете (до некоторой степени)

Перед разблокировкой

Подготовьте WC с разреженными каталогами (только с каталогами , в которых есть файлы с вашими замками)

размыкание

Измените один заблокированный файл в WC и зафиксируйте весь WC. Согласно SVN Book

После успешного завершения фиксации снимаются все упомянутые блокировки репозитория, даже для файлов, которые не были зафиксированы. Это означает, что пользователи не должны быть слишком небрежными в отношении блокировки или слишком долго удерживать блокировки. Если Гарри случайно заблокировал 30 файлов в каталоге с именем images, потому что он не уверен, какие файлы ему нужно изменить, но изменяет только четыре из этих файлов, когда он запускает svn commit images, процесс все равно снимет все 30 блокировок.

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

Другой способ разблокировки - использование svn unlock --target ARG , где ARG содержит все URL ваших блокировок (URL на строку), будет работать даже без WC

0

Вы должны иметь возможность получить список заблокированных файлов, используя:svnadmin lslocks

И я думаю, что:SVN Cleanup удалит ваши блокировки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .