Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS声明文件被锁定,即使它们不是孤立锁_Tfs_Locking_Orphan - Fatal编程技术网

TFS声明文件被锁定,即使它们不是孤立锁

TFS声明文件被锁定,即使它们不是孤立锁,tfs,locking,orphan,Tfs,Locking,Orphan,我正在尝试使用tf.exe在两个分支之间执行无基础合并 当我运行该命令时,它失败并告诉我有15-20个文件被另一个用户锁定。我查看了另一个用户的挂起更改,他在目标分支中只有三个文件被签出,并且没有一个文件被锁定 以前有没有人经历过类似的事情 编辑 在Robaticus的帮助下,我发现锁位于tbl_lock表中,但是与它们相关联的挂起的更改不再存在。看起来除了给我们带来当前合并问题的锁之外,还有多个孤立锁 有人知道是什么原因导致了这些问题,或者知道一种不直接接触DB的修复方法吗?我要去做点调查看看

我正在尝试使用tf.exe在两个分支之间执行无基础合并

当我运行该命令时,它失败并告诉我有15-20个文件被另一个用户锁定。我查看了另一个用户的挂起更改,他在目标分支中只有三个文件被签出,并且没有一个文件被锁定

以前有没有人经历过类似的事情

编辑

在Robaticus的帮助下,我发现锁位于tbl_lock表中,但是与它们相关联的挂起的更改不再存在。看起来除了给我们带来当前合并问题的锁之外,还有多个孤立锁

有人知道是什么原因导致了这些问题,或者知道一种不直接接触DB的修复方法吗?我要去做点调查看看能不能找到什么

编辑2

谷歌首次搜索“tfs孤立锁”时会返回以下信息:

TFS团队建议直接从表中删除它们,所以我想我必须这样做


我没有看到任何帖子表明它已被修复。

您可能需要检查它们是否被锁定在废弃的工作区中。为此,请安装。然后,您可以右键单击源代码管理器中的文件夹并“在源代码管理中查找”。使用“状态…”,您可以找到该用户锁定的所有文件

如果您具有管理权限,则可以有选择地从任何锁定的文件中移除锁定

*编辑:前方危险代码*

可以对
TFSVersionControl
数据库执行以下代码。这将显示所有已锁定的文件。这可能会告诉你是否有一个孤立的文件在那里的某个地方

我不建议您在该数据库中进行任何更改,当然,在执行类似操作之前,请始终确保您拥有存储库的当前备份

select 
    lck.FullPath,
    wspc.WorkSpaceName,
    id.DisplayName
 from tbl_lock lck
inner join tbl_workspace wspc on wspc.WorkSpaceId = lck.WorkSpaceId
inner join tbl_identity id on id.IdentityId = wspc.OwnerId

您是否使用了调查此问题的工具。这是TFS命令行工具的一个不错的UI。

是的,我应该提到我正在使用power tools,我是一名管理员。这家伙在我能找到的任何工作区都没有签出任何东西。它抱怨的文件是从主干到其项目分支的上一次合并中的文件夹和一些DLL。然后,您可能需要查看TFSVersionControl数据库。请看我上面的编辑。是的,这些文件绝对是孤立的。我将尝试签出该文件,然后撤消它。也许那会把记录从表中清除掉。