0

使用 TFS API,我需要更改版本控制中指定文件/项目的权限。我需要编辑特定用户或所有用户的权限。

例如,我的应用程序将阻止所有用户签入指定文件。然后,它将允许特定用户签入该文件,执行文件签入,然后允许所有用户再次签入。

我怎样才能做到这一点?请提供示例代码。


4

1 回答 1

2

在微软 (http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/289fb1f4-4052-41f1-b2bf-f97cd6d9e389/) 的 Vicky Song 的指导下,我得到了以下结果:

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时,添加deny权限进行签入。当CheckInLock为false时,取消签入权限,允许继承指定文件的签入权限。

于 2011-06-21T20:29:25.003 回答