Блокирование доступа к файлам управления версиями

Как администратор Team Foundation, вам может быть необходимо блокировать доступ к файлу, который находится под управлением системы управления версиями. Например, какой-нибудь пользователь мог вернуть файл, зараженный вирусом. Можно также необратимо удалить файлы управления версиями. Дополнительные сведения см. в разделе Удаление файлов, находящихся под контролем системы управления версиями.

Следующая процедура описывает удаление файла через пользовательский интерфейс или через служебную программу командной строки tf. Доступ блокируется следующим образом: зараженная версия перезаписывается чистой версией, и чистая версия добавляется к базе данных. Настраивая разрешения на чтение и запись, можно предотвратить появление файла в обозревателе управления исходным кодом.

Примечание

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

Предупреждение

Если удаляется разрешение Читать для группы безопасности Учетные записи служб для файла или папки системы управления версиями, адаптер VersionControl.Adapter может не прочитать файл или папку.Если адаптер не может прочитать данные управления версиями в хранилище данных, он запишет сообщение в журнал событий уровня приложений, которое будет иметь приблизительно следующий вид: Возможно, учетная запись службы не имеет разрешения на извлечение данного набора изменений.Без данных управления версиями из файла или папки хранилище данных и последующие отчеты управления версиями могут содержать неточности.

Необходимые разрешения

Чтобы блокировать доступ к файлам Team Foundation (подсистема контроля версий), необходимо быть участником группы Администраторы Team Foundation. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

Блокирование доступа к файлам управления версиями

  1. В меню Visual Studio Вид выберите Другие окна, а затем — Обозреватель управления исходным кодом.

  2. Выберите и извлеките файл, который необходимо удалить. Дополнительные сведения см. в разделе Извлечение и изменение элементов в системе управления версиями.

  3. В диалоговом окне Извлечь убедитесь, что выбран правильный файл, затем выберите параметр Извлечь в списке Выберите тип блокировки.

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

  5. Верните файл. Дополнительные сведения см. в разделе Возврат ожидающих изменений.

    Примечание

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

  6. Щелкните правой кнопкой мыши файл и выберите пункт Свойства, чтобы открыть диалоговое окно Свойства для этого файла. В диалоговом окне Свойства откройте вкладку Безопасность и снимите флажок Наследовать параметры безопасности.

  7. Выберите значение Запретить для каждого пользователя или группы, кроме группы Администраторы.

  8. Нажмите кнопку ОК, после чего файл будет удален для других пользователей из обозревателя управления исходным кодом.

Блокирование доступа к файлу с использованием командной строки

  1. Откройте командную строку и с помощью команды CheckOut служебной программы tf извлеките версию файла с разрешением записи, которую необходимо удалить. Пример:

    tf checkout myfile.cs

  2. Создайте новый файл и перезапишите файл, который необходимо удалить.

  3. С помощью команды CheckIn замените версию файла в базе данных.

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

    tf checkin /comment:"Overwrote bad file and denied permissions."

  4. С помощью команды permission и параметра /deny измените разрешения для данного файла для пользователя или группы.

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

    tf permission /inherit:no myfile.cs

    tf permission /deny:read myfile.cs /group:ADATAUM\Group1 ADATAUM\Group2 myfile.cs

См. также

Задачи

Управление доступом к системе управления версиями Team Foundation