Если я создал метку в TFS, назначив ее нескольким файлам, мои коллеги не смогут изменить версии файлов (или добавить другие файлы) для этой метки. Мы получаем эту ошибку:
TF14077: The owner of a label cannot be changed.
Исследуя проблему, я нашел эту статью , в которой говорится:
Возможно, что пользователь может быть
разрешено манипулировать общей меткой
в папке разработки, но только
манипулировать ярлыками, которыми они владеют, в
производственная папка.
(акцент мой)
Как ни старайся, я не могу найти ссылку на "общие ярлыки". Насколько я вижу, у ярлыка должен быть владелец.
Кстати, я пытаюсь использовать «плавающую» метку, чтобы разработчики могли указать, что их код готов стать частью сборки, пометив его определенной меткой. Тогда процесс сборки должен был бы просто получить все, имеющее эту метку, и автоматически получить самые последние данные, которые фактически готовы к сборке, игнорируя обе прошлые версии, а также новые, которые не готовы в прайм-тайм.
Обновление:
Я полагаю, что если я не смогу создать действительно общий ярлык, я могу, по крайней мере, дать пользователям право редактировать ярлыки, созданные их коллегами. Это довольно явно поддерживается. Обычные пользователи Contributor не имеют этого права, но согласно MSDN (см. Статью Разрешения сервера Team Foundation , в разделе Разрешения контроля исходного кода ), оно может быть предоставлено. посредством разрешения LabelOther :
Разрешения контроля версий
специфичные для файлов исходного кода и
папки. Вы можете установить эти разрешения
щелкнув правой кнопкой мыши папку или файл
в Source Control Explorer, нажав
Свойства и на вкладке Безопасность,
выбор пользователя или группы, для которой
Вы хотите изменить разрешения, и
затем редактирование разрешений, перечисленных в
Права доступа. Вы можете установить эти
разрешения с помощью тф
утилита командной строки для источника
управление.
...
Администрирование ярлыков | tf: LabelOther | Пользователи, имеющие это разрешение, могут редактировать или удалять ярлыки, созданные другим пользователем.
Итак, я назначил это право группе «Домен», в которую входят все разработчики, как предложено выше. Я могу убедиться, что он установлен с помощью команды tf разрешение :
tf permission /group:"CORP\Web Team"
и результат, как и ожидалось (я также назначил ярлык, просто для удовольствия)
===============================================================================
Server item: $/Test1/TeamBuildTypes (Inherit: Yes)
Identity: CORP\Web Team
Allow:
Deny:
Allow (Inherited): Label, LabelOther
Deny (Inherited):
Тем не менее моему тестовому пользователю по-прежнему не разрешено редактировать созданную мной метку.