我们目前正在使用Visual Source Safe和Team Foundation Server(旧项目的VSS,当前或新项目的TFS)。
我们一直在每个构建的源代码管理中使用标签。在VSS中,如果您选择查看文件历史记录,则可以包含标签。在TFS中,我找不到在历史窗口中包含标签的选项。
由于支持或管理层提出的最常见问题之一是“我们修复/添加/删除/更改xxxx的版本是什么?”,因此我始终依赖于历史记录中显示的构建标签。
我可以让标签显示在文件历史记录中吗?
答案 0 :(得分:21)
在2008版TFS中,您在文件和文件夹的标准历史记录中看不到标签。如果你真的想知道原因 - 请参阅Brian Harry的博客文章“Why TFS Labels are not like VSS Labels”。
要在Visual Studio中查找标签,请转到“文件”,“源代码管理”,“标签”,“查找标签...”,然后您可以看到该标签中包含的文件版本。
团队肯定听说这不太理想,下一版TFS(Team Foundation Server 2010,代号为“Rosario”)将包括对历史记录视图的改进,以便更容易找到标签 - 请参阅{{3} }对于TFS 2010中历史记录视图的改进规范。
顺便说一句 - 我实际上已经使用TFS转移到基于变更集的构建编号,这使得标签不那么必要。有关详细信息,请参阅http://go.microsoft.com/?linkid=7807943。
希望有所帮助,
马丁。
答案 1 :(得分:5)
这个问题一直在扼杀我们。
我发现的最佳解决方案是使用名为Team Foundation SideKicks的第三方工具http://www.attrice.info/cm/tfs/免费提供。
在“History Sidekick”下有一个标签标签。您可以突出显示任何文件夹或文件,它将显示放在该文件夹或文件上的每个标签以及更改集。 遗憾的是,您无法查看包含标签的文件夹或文件历史记录的完整视图。
在“Label Sidekick”下,您可以突出显示任何特定标签,它可以告诉您标签中的文件夹/文件和更改集。此功能与Visual Studio中提供的功能几乎相同,并没有那么有用。
需要注意的是需要TFS服务器2008或更高版本。使用TFS服务器2005的工具非常缓慢且基本上无法使用。
-ephi
答案 2 :(得分:4)
[由于TFS风格标签的复杂性,这在应用于文件夹时是一个非常困难的问题;基于上面的评论,我将假设在文件上搜索标签就足够了]
不幸的是,这是TFS客户端API中极少数边缘情况之一,未在tf.exe或VS2008中的任何位置暴露。您必须直接调用API。请参阅http://msdn.microsoft.com/en-us/library/bb138967.aspx - “versionFilterItem”参数执行您要查找的内容。
答案 3 :(得分:2)
TFS 2010在任何分支的历史记录中都有一个非常有用的“标签”视图(而不是“变更集”)。不幸的是,它只显示您选择的分支中的标签,而不是所有子分支/文件夹中的标签。
答案 4 :(得分:1)
我开始尝试创建自己的SQL来执行此操作并直接针对TFS数据库本身运行它。这个SQL是针对TFS 2008运行的。这个小片段将首先显示所有与最近创建的分支/修改标签一起订购的分支的标签和变更集。开发这个的下一步是以某种方式遍历变更集和标签,只带回我感兴趣的区域(比如'Main'或某些特定的分支)。我想如果我创建了可以完成所有这些操作的SQL,它会慢得多,并且没有完整的GUI我想要深入了解特定文件的历史记录,请参阅标签,等等。叹气。
select DisplayName, cs.CreationDate, Comment, 'CheckIn'
from TfsVersionControl.dbo.tbl_Identity i, TfsVersionControl.dbo.tbl_ChangeSet cs
where cs.ownerid = i.IdentityId
union
select DisplayName, LastModified, Comment, 'Label'
from TfsVersionControl.dbo.tbl_Identity i, TfsVersionControl.dbo.tbl_Label l
where l.ownerid = i.IdentityId
order by 2 desc
答案 5 :(得分:0)
之前我曾使用TFS branch history。它不是世界上最好的用户界面,只允许您显示每个文件的历史记录,但它可以完成工作。