2014-02-14 4 views
0

Я был использован для использования VSS, но переключился на SVN, используя VisualSVN в качестве сервера и tortoiseSVN в качестве клиента.Запретить другим пользователям доступ к файлам SVN Get Lock

Что я хочу, когда какой-то пользователь хочет отредактировать файл, он должен сделать getlock. После этого этот файл не должен редактироваться для других пользователей. Так работает VSS.

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

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

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

Любая идея о том, как достичь этого? Благодаря

ответ

0

Lock-Unlock модели SVN в is possible рабочий процесс, но не рекомендуется:

  • это не надежно (замок может быть поврежден или украден)
  • это времени расточитель

Edit- обновление или модель объединения ветвей, рекомендуемая для параллельной работы, когда отдельные части работ могут быть объединены вручную

или

Последовательная работа по согласованию последовательности операций с использованием обычных human2human связи, когда слияние не представляется возможным технически (см образец aroung дизайнеров графического объекта в SVN книгу)

+0

Lock-изменение-разблокирование можно управлять с помощью Subversion крючки. Таким образом, политики блокировки могут быть реализованы для предотвращения блокированных или украденных блокировок. – bahrep

0

Насколько я использовал Tortoise-SVN и блокирует, всякий раз, когда файл заблокирован каким-либо другим пользователем, Tortoise предупреждает вас об этом, когда вы пытаетесь «получить блокировку». В таких случаях есть возможность «украсть блокировки».

Таким образом, необходимо явно установить блокировку, чтобы узнать, заблокирован ли файл. Чтобы сделать это обязательным, можно использовать свойство subversion «svn: needs-lock», которое сделает все файлы доступными только для чтения и может быть отредактировано только после того, как будет получен замок. Поэтому, если файл заблокирован пользователем, это время, о котором знает другой пользователь. Невозможно уведомить об этом пользователя.

Более подробная информация доступна здесь: - http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html