如何在TFS中查看版本更改?

4

我正在尝试从VSS迁移到TFS,需要展示在两个版本之间哪些文件被检入。在VSS中,我们会为发布的代码打标签,查看标签之间的历史记录并生成报告以展示检入和评论。有没有办法在TFS中获得类似的结果?或者展示两个变更集或标签之间的差异?


由于在悬赏之前没有接受任何现有答案,您能否提供更多关于您所寻找的内容的详细信息? - Jeff Hall
我需要获取两个时间点之间所有变更集的注释。变更集列表似乎是最好的解决方案,但并不完全符合我的期望。如果可能的话,我希望这些时间点由标签定义,但根据TFS中标签的工作方式,这看起来并不简单。 - Ryan
5个回答

7
命令行工具tf.exe比GUI提供更多选项(可以在对话框或标准输出中给出结果,适用于进一步处理)。例如:
tf hist . -r /version:C10~C1000

此命令将列出在变更集10和1000之间递归影响此文件夹和内容的所有变更集。

请参阅MSDN文档

如果您需要最大的灵活性,可以使用TFS客户端程序集创建自己的命令。不幸的是,文档相对较少。


3

在TFS上右键单击您想要的文件夹(例如根文件夹),您会发现以下两个选项:

1、应用标签 - 这允许您将标签应用于该文件夹的特定版本。 2、比较 - 这允许您在版本之间比较该文件夹,其中一个选择是按标签比较。


比较功能在右键菜单中适用于文件,但不适用于文件夹。您使用TFS 2005吗? - Ryan
我正在使用TFS2005。我认为那可能是一个Power Tool插件?我将尝试下载并查看。 - Ryan
添加这个强大的工具确实让我可以比较版本。但这并不是我所期望的。我们的QA只想看到在标签之间检入的文件以及对这些检入的注释。 - Ryan
据我所知,默认的TFS包中可能没有类似的功能。我能想到的最接近的东西是查看文件夹历史记录,但那可能不是你要寻找的。你可能需要为你所需的内容编写一些自定义程序,Richard的评论对此提供了一些很好的建议。 - FlyinFish
我们使用TFS SDK编写了类似的东西,但已经有一个生成构建之间变更集列表的构建任务了。(我们使用反编译器撕下了那段代码...让我们创建自己的报告。) - Massif

2

在 TFS 源代码控制中右键单击任何节点,选择“查看历史记录”

这将显示所有按日期降序排序的更改集。

双击它们,您可以查看有关更改集的详细信息:注释、相关工作项和已更改的文件。


1

正如Jeff所说,右键单击项目、任何文件夹或文件,然后选择“查看历史记录”以查看所有更改。如果您知道标签何时应用,只需在此列表中向下滚动,直到找到特定的日期/时间。

要获取两个标签或更改之间的精确列表,请使用“tf.exe history”(如Richard所说)从Visual Studio命令提示符(在Visual Studio 2005文件夹中的开始菜单中)中执行。有关更多信息,请执行“tf.exe help history”。

对于日常更改,如果您使用TFS构建,则可以在构建信息页面底部查看自上次构建以来的更改(在Team Explorer中双击构建名称,然后双击特定构建。滚动到此页面底部并打开“相关变更集”。我已将CI构建设置为不关联变更集,这意味着我们的每日测试构建列出了自上一个每日构建以来的所有变更集-这是我们的测试人员深入了解更改的绝佳摘要。


我记得你曾经为萨克拉门托国王队效力。 - B. Clay Shannon-B. Crow Raven

0

我曾经使用命令行 tf hist,通过查找标签或分支更改集中的最高更改集来获取要比较的更改集,但手动过程和使用命令行在这里并不太好。我使用Carl Daniel's code编写了一个小型 Web 应用程序,将更改绑定到数据网格。

如果你正在寻找一些特殊的功能,标准界面无法提供给你,那么编写自己的应用程序并链接到 TFS 是相当简单的。我肯定会建议这样做。


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