访问被拒绝TFS - PendChange权限

时间:2009-06-17 18:05:10

标签: tfs

当我尝试从TFS签出文件时,我收到错误 TF14098:访问被拒绝用户[用户名]需要[路径]的PendChange权限。

我已将用户添加到参与者组,但仍然不允许他们签出文件。

9 个答案:

答案 0 :(得分:6)

有时可能需要一些权限来进行同步。

http://msdn.microsoft.com/en-us/library/ms400712.aspx#doesnottake

答案 1 :(得分:4)

如果您修改的用户(或AD安全组)已为系统所知,则更改应该是即时的。同步仅在相反的情况下发挥作用:安全组已经允许PendChange,然后Windows管理员向该组添加了新用户。 TFS在下次计划同步期间与活动目录通信之前不会知道更改。

您所看到的最可能的原因是权限继承。即使用户明确允许权限,任何适用于他的拒绝ACL都将覆盖它。例如,可以继承在父项上设置的ACL。同样,如果用户是两个组的成员(例如贡献者和读者),他可能会在游戏中产生冲突的ACL - 而Deny将永远获胜。

此外,继承模型在2008 SP1中略有变化。参见:

答案 2 :(得分:3)

这令人沮丧地愚蠢。所以,如果您遇到类似的问题,但是找不到需要更改的实际权限,而且似乎无法通过IDE找到这些权限的设置,那是因为您需要实际访问通过右键单击项目并选择Advanced-> Security,而不是Team-> Team Project Settings / Team Project Collection Settings-> Security 来获取权限。您也可以使用tf命令行使用tf特殊tf命令执行此操作,但我遇到了问题。

答案 3 :(得分:3)

使用tf perm和tfs ui我发现通过在TFS 2015的安全性选项卡中为项目的根提供指定的用户组Checkout权限来授予PendChange权限。

PendChange =签出权限

答案 4 :(得分:0)

从子分支到父分支合并时遇到了同样的问题。项目管理员组的成员本身不允许合并到该分支。

使用“tf perm”检查后,确保该组的该分支没有拒绝权限。

经过很多地方后发现该分支中有一个删除签出归因于开发人员。使用“在源代码管理中查找”找到了这个 - >状态“ - >结帐查找。

后来发现有权访问该分支的开发人员在离开公司之前曾尝试删除该分支(作为清理的一部分)。我解除了这个改变(通过选择结账使用撤销)和Presto!合并开始奏效。

我仍然不确定这是怎么发生的,也不知道原因。但对于在合并中遇到此问题的任何人,请检查所有结帐,如果您发现一些结帐(例如删除)很奇怪,请撤消它并重试。这可能是一个原因。

答案 5 :(得分:0)

就我而言,以下链接效果很好

http://ravendra.wordpress.com/2010/06/04/tf14098-access-denied-user-user-needs-pendchange-permissions-for-source-control-folder/

“这基本上会告诉您所有用户/群组的列表,他们的权限。从这个列表中检查您是否为PendChange或其直接拒绝的任何组成员。如果是,则采取必要的步骤删除它。

这里要注意的是Deny始终优先。假设您是TFS Admin的成员(允许所有权限)和项目阅读器(PendChange除外),那么读者的PendChange将优先,您将不被允许删除。“

<强>更新

对于TFS 2012,请使用“Developer Command Prompt for VS2012”并检查:https://msdn.microsoft.com/en-us/library/0dsd05ft(v=vs.100).aspx

答案 6 :(得分:0)

读者可以从TFS中的团队项目中删除,这将阻止编辑文件。

我已经在TFS2013中检查了这个并且工作正常。

答案 7 :(得分:0)

问题解决了。

TFS UI->管理->项目->管理项目安全性->转到版本控制选项卡->选择角色。

如果用户无法签入和回滚,则需要提供读取和&签入权限,并需要在那儿允许签出。

答案 8 :(得分:-2)

在我的方案中,当我被添加到项目的管理员组时,此错误已得到修复。