Создание ветки TFS только для чтения - PullRequest
40 голосов
/ 24 июня 2009

Мы пытаемся следовать стратегии ветвления из Руководства по ветвлению TFS и достигли точки, когда мы создали ветвь, представляющую релиз, который теперь должен быть доступен только для чтения.

На вкладке «Свойства | Безопасность» для ветви представлены шесть групп пользователей, каждая из которых имеет 10 разрешений, отличных от «Чтение». Нужно ли проходить и нажимать «Отклонить» на 60 флажках, или есть лучший способ сделать эту ветку доступной только для чтения?

Ответы [ 6 ]

49 голосов
/ 24 июня 2009

Щелкните правой кнопкой мыши ветку в Source Control Explorer и выберите параметр Lock ...

EDIT: Похоже, что это часто упускается, когда люди находят это, поэтому я сделаю это более очевидным.

Блокировки отображаются как «ожидающие изменения» для человека, который заблокировал элемент. Пока блокировка действует, она будет отображаться как ожидающее изменение. Когда из этого ожидающего изменения делается коммит, блокировка снимается . Пока действует блокировка, заблокированная ветвь фактически доступна только для чтения, поскольку (для упрощения) блокировщик - единственный пользователь, который может делать коммиты. Акт совершения - это то, что снимает любые блокировки на ветке.

h / t @AakashM за указание на это в комментариях

11 голосов
/ 24 июня 2009

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

9 голосов
/ 25 июня 2009

Чтобы ответить на 2-ю часть вопроса - удаление или отказ в разрешении на чтение фактически отрицает все остальное.

4 голосов
/ 01 июня 2015

Как упоминалось выше, блокировка не очень хорошая стратегия. Правильный способ обработки этого - установка разрешений.

Вы можете эффективно создавать файлы только для чтения. Пользователи, пытающиеся изменить файлы, получат сообщение «заказ отклонен»

https://msdn.microsoft.com/en-us/library/ms252587.aspx#project_level

В VS2013: Team Explorer -> Настройки -> Безопасность / Контроль версий

3 голосов
/ 20 мая 2013

Запретить регистрацию для домена \ пользователей домена

2 голосов
/ 03 ноября 2015

Если у вас установлено наследование 'On', лучший способ, который я нашел, это:

  1. «Запретить» все разрешения, кроме «Чтение» для группы «Читатель», и
  2. Добавьте все остальные группы (кроме администраторов проекта) в группу «Читатель».

Тогда все группы в группе Reader будут наследовать разрешения «Запретить» и не смогут ничего делать, кроме чтения.

...