使用 TFS API,我需要更改版本控制中指定文件/项目的权限。我需要编辑特定用户或所有用户的权限。
例如,我的应用程序将阻止所有用户签入指定文件。然后,它将允许特定用户签入该文件,执行文件签入,然后允许所有用户再次签入。
我怎样才能做到这一点?请提供示例代码。
使用 TFS API,我需要更改版本控制中指定文件/项目的权限。我需要编辑特定用户或所有用户的权限。
例如,我的应用程序将阻止所有用户签入指定文件。然后,它将允许特定用户签入该文件,执行文件签入,然后允许所有用户再次签入。
我怎样才能做到这一点?请提供示例代码。
在微软 (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时,取消签入权限,允许继承指定文件的签入权限。