使用TFS API,我需要更改版本控制中指定文件/项的权限。我需要编辑特定用户或所有用户的权限。
例如,我的应用程序将阻止为所有用户签入指定文件。然后,它将允许为特定用户签入该文件,执行文件签入,然后允许所有用户再次签入。
我该怎么做?请提供示例代码。
答案 0 :(得分:2)
在微软的Vicky Song的指导下(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时,将删除签入权限,允许继承指定文件的签入权限。