如何在TFS 2010中知道文件是否被其他人签出?

15
我希望确保没有其他人正在检查源代码,以便我可以制作发布安装程序。因此,我想查看 1) 正在检出特定文件的用户列表 #1 和 2) 所有已检出的文件列表 #2,但我不知道该如何做。如果您知道,请帮忙! 编辑 同事向我展示了我们可以通过以下方式按每个用户查看列表#1: Source Control - Team Members - 右键单击用户 - Show Pending Changes - 完成。这很好,但还不够完美。希望可以看到每个成员的整个列表。 还有一步要跟进,即选择 Modify Query(左上角)并选择 Display all checked out,即可查看整个列表。

1
尝试检查独占状态;如果无法检查,则表示其他人已经将其检出。在输出窗口中查看谁已经检出它。 - Mitch Wheat
@Mitch:一个项目可能包含数百个文件。有没有其他方法可以查看列表? - Nam G VU
6个回答

19

打开Visual Studio 2010命令提示符(开始->所有程序->MS Visual Studio 2010->VS 工具)。 输入:

tf status /user:*

这将为您提供所有工作区中所有用户的待处理更改。

对于特定文件,只需输入:

tf status /user:* c:\myfile.txt

更多信息在这里


我该如何将结果打印到文件中? - Nam G VU
重定向输出。示例:tf status /user:* > c:\test.txt - LeWoody
+1 运行得很好,可惜 TFS 没有告诉你文件何时被签出,这对于大型项目来说可能很重要。 - Chris O
3
如果你要求详细输出,它会告诉你:“/format:detailed”。 - Kurt Hutchinson
@KurtHutchinson - 也许我应该看一下文档,这样我才能真正学到东西。无论如何,你能否将这些有用的信息和一个漂亮的示例命令发布为答案? - Chris O
你可以将此添加为VS的外部工具:工具->外部工具 - 使用以下详细信息添加新工具:标题:随便你想要的 命令:*%VS100COMNTOOLS%..\IDE\tf.exe* 参数:status $(ItemPath) /user: /recursive* 初始目录:*$(ItemDir)*。享受吧。(注:如果您使用的是VS2012,请使用VS110COMNTOOLS在VS2010中的示例 - itsho

5

一位同事向我展示了如何按用户查看列表#1源代码控制 - 团队成员 - 右键单击用户 - 显示待处理更改 - 完成。这很好,但并不完美。希望能够看到每个成员的整个列表。

还有一步要跟进才能查看整个列表修改查询(左上角),然后选择显示所有已检出


2
在源代码控制资源管理器中,我可以看到文件以及谁检出了其中的一些文件。但是我在团队资源管理器中没有看到团队成员。或者我应该在哪里看到他们?修改查询在哪里?我找不到它。 - Alexan
顺便提一下,在“解决方案资源管理器”中,我看到的是文件名前面人的图标,而不是锁,并且工具提示显示:“已被其他人或其他地方签出”。如果能在工具提示中得到签出此文件的人的姓名,那就更好了。 - Alexan

3

我认为使用Team Foundation Sidekicks (http://www.attrice.info/cm/tfs/) 比使用命令提示符更容易。


我不确定使用命令行支付是否“更容易”。请查看我的评论此处 - itsho

1
在Visual Studio中,查看源代码控制资源管理器(视图菜单>其他窗口>源代码控制资源管理器)。这将显示谁检出了每个文件以及他们是否对该文件拥有独占锁定。

@Lam:根据您的建议,我猜想在数十个文件夹下找到一个已检出的文件并不容易——该项目包含数十个文件夹/子文件夹,每个文件夹都有数百个文件。 - Nam G VU

1

#1 解决方案

  1. 打开 源代码控制资源管理器
  2. 在该资源管理器中浏览到文件并选择它。
  3. 文件 > 源代码控制 > 在源代码控制中查找 > 状态...
  4. 不要更改此打开的窗口中的任何内容,然后单击 查找

#2 解决方案

  1. 视图 > 其他窗口 > 待处理的更改

0

前往 视图-->其他窗口-->待处理更改


1
但是我只看到了我的结账。 - Alexan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接