Каков наилучший способ узнать, какие файлы заблокированы в Subversion?

StackOverflow https://stackoverflow.com/questions/284950

  •  08-07-2019
  •  | 
  •  

Вопрос

Наконец-то я заставил свою группу переключиться с SourceSafe на Subversion.К сожалению, мой менеджер по-прежнему хочет использовать эксклюзивные блокировки для каждого отдельного файла.Поэтому я установил свойство svn:needs-lock для каждого файла и создал перехват предварительной фиксации, чтобы убедиться, что свойство остается установленным.

Мы запускаем Subversion на сервере Linux.Большинство из нас используют компьютеры с Windows, а некоторые - Mac.Мы используем различные SVN-клиенты (TortoiseSVN, SmartSVN, Subclipse и т.д.).

Что нам сейчас нужно, так это хороший / простой метод просмотра всех файлов, которые в данный момент заблокированы во всем репозитории (и у кого они заблокированы).Я немного покопался в Tortoise и Subclipse, но не нашел того, что искал.В наших проектах есть много подкаталогов глубиной в несколько уровней, поэтому просмотр каждого отдельного каталога отнял бы слишком много времени.

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

Это было полезно?

Решение

Вы ищете команда svnadmin lslocks .

У меня это настроено на работе, потому что мы храним некоторые документы Word в нашем репозитории Subversion (с svn: needs-lock ). У меня есть задание cron, которое каждый день проверяет список блокировок и отправляет по электронной почте отчет обо всех блокировках старше 7 дней для всей команды. Таким образом, мы можем определить, кто долго сидел на закрытой копии документа.

Другие советы

Это может быть не тот ответ, который вы ищете, но вы должны попытаться убедить менеджера, что блокировки на самом деле не лучшая практика разработки. На эту тему написано много всего, поэтому я не буду повторять все это здесь.

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

Намного лучше, чем ждать, пока парень, который пошел на ланч с проверенным критическим файлом, или, что еще хуже, ушел в отпуск.

Чтобы узнать, какие блокировки вы и другие храните, вы можете использовать TortoiseSVN & # 8594; Проверьте наличие модификаций .... Локально удерживаемые токены блокировки обнаруживаются немедленно. Чтобы проверить наличие других блокировок (и проверить, не сломаны ли они или не украдены), вам нужно нажать кнопку Проверить репозиторий.

Вы можете обнаружить блокировки в локальной кассе, используя svn status --show-updates который положит начало O перед всеми файлами, которые заблокированы на сервере.

например ,

$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile

видишь svnbook ( электронная книга) для получения более подробной информации

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top