【问题标题】:Modifying permissions on files/items in version control using TFS API使用 TFS API 在版本控制中修改文件/项目的权限
【发布时间】:2011-09-14 22:42:26
【问题描述】:

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

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

我该怎么做?请提供示例代码。


【问题讨论】:

  • TFS API 可用于完成此操作,但我认真地认为您正在尝试做一些您不应该做的事情。你能澄清为什么你需要这样的东西吗?也许我们可以想出一个替代解决方案。

标签: version-control tfs tfs-sdk


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-07
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 2019-04-19
    • 2011-03-07
    相关资源
    最近更新 更多