Изменение разрешений для файлов / элементов в управлении версиями с использованием TFS API - PullRequest
0 голосов
/ 14 июня 2011

Используя TFS API, мне нужно изменить разрешения для указанного файла / элемента в управлении версиями. Мне нужно редактировать разрешения для конкретного пользователя или для всех пользователей.

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

Как я могу это сделать? Пожалуйста, предоставьте пример кода.


1 Ответ

2 голосов
/ 22 июня 2011

Под руководством Вики Сонг из Microsoft (http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/289fb1f4-4052-41f1-b2bf-f97cd6d9e389/), вот что я закончил:

public void SetCheckInLockForFile(string fileAndPath, string userGroup, bool checkInLock)
{
  // sets of the CheckIn permission for the specified file

  List<SecurityChange> changes = new List<SecurityChange>();
  string[] perm = new string[] { PermissionChange.ItemPermissionCheckin };

  if (checkInLock)
    changes.Add(new PermissionChange(fileAndPath, userGroup, null, perm, null));
  else
    changes.Add(new PermissionChange(fileAndPath, userGroup, null, null, perm));

  SecurityChange[] actualChanges = versionControlServer.SetPermissions(changes.ToArray());

}

Когда CheckInLock имеет значение true, разрешение на запрещение добавляется для регистрации. Когда CheckInLock имеет значение false,разрешение на регистрацию удалено, что дает разрешение на регистрацию для указанного файла для наследования.

...