5

我有一个存储在 TFS 源代码控制 (2008) 中的项目,该项目正在由 2 个开发人员开发。所有 3 个版本(Developer1、Developer2 和 Server)都是最新的。但是,两位开发人员都报告说解决方案资源管理器中的某些文件显示“已由其他人或在其他地方签出” - 但在源代码管理资源管理器中查看的相同文件说它们可用。似乎工作区已经变得混乱,但实际文件是“好”的。

任何人都可以帮忙吗?

4

6 回答 6

2

我以前让这些列表不同步。需要的是“强制获取最新”来刷新状态。为此,您选择“获取特定版本”,然后选择“最新”和“即使它们已在本地存在也获取文件”(或类似的选项)。这将强制文件刷新,即使它们已经是最新的,并且还应该更正它们的状态。

您可能会认为 VS/TFS 足够聪明,可以自行协调这一点,但有时他们只是不这样做,无论出于何种原因。

于 2009-10-02T03:19:10.323 回答
1

在 Visual Studio 中转到文件-> 源代码管理-> 工作区。确保您拥有的开发人员只有 1 个工作区。很可能有人在他的机器上创建了多个工作区并在那里签出了文件。

TFS 将工作区映射到创建它们的机器上的位置,因此如果有人将代码拉到多个地方并对其进行编辑,您可以让一个人在多个地方签出代码。

此外,此链接向您展示了如何查看为特定人员签出的所有文件。

但我也同意 Preet。在 TFS 中让多个人签出文件是完全可以的。这是对 SourceSafe 的小改进之一。

于 2009-10-01T12:16:24.210 回答
1

如果我签出该文件,然后执行“撤消挂起的更改”,它就会恢复正常。我认为是这个错误,它似乎还没有在任何补丁或未来版本中得到修复。

http://social.msdn.microsoft.com/Forums/en-SG/tfsversioncontrol/thread/2a1c6a8c-0a2b-460c-9335-e31598f1107b

于 2009-12-21T15:56:46.443 回答
0

你有安装SP1吗?这为我们的团队解决了问题。如果没有,请检查您的任何开发人员是否有单独的工作区,并且可能已将文件签出到其中

于 2009-10-01T12:10:44.563 回答
0

当我们从 TFS 2005 升级到 TFS 2008 时,我们遇到了这个问题。升级存在问题,迫使我们创建新的虚拟机并恢复/升级 2005 数据库。我们正在进行工作组身份验证并重新创建本地用户帐户,但由于它们都有新的 SID,因此在某些方面它们被视为不同的帐户。所有原始用户的工作空间都四处游荡。

查看用于操作工作区的命令行 tf 和 tfpt 工具,看看您是否有孤立的东西。Attrice Team Foundation Sidekicks 也有一个不错的 GUI 工作区管理器。

于 2009-10-02T03:25:08.067 回答
-1

一个更大的问题。你为什么要关心其他人是否已签出文件?TFS 支持文件的多个并行签出。如果您想要独占控制,请使用锁。

很抱歉更清楚 - 我经常发现解决方案资源管理器中的状态不值得一看。如果我需要一个文件,我会检查它。如果有人锁定了它,那么当时 TFS 会告诉我,否则我只使用该文件。

于 2009-10-01T12:09:24.990 回答