【问题标题】:How do I figure out which changeset a label in TFS was applied to?如何确定 TFS 中的标签应用于哪个变更集?
【发布时间】:2014-11-21 09:08:16
【问题描述】:

我们正在使用 Team Foundation Server,并且我们正在使用标签在我们的版本历史记录中创建特定版本(内部或外部)的生成点。

现在我们想知道一个特定的变更集是在特定标签之前还是之后完成的(因此是否包含在该版本中),但我们一定是找错地方了。此信息通常在错误跟踪系统中提供,但这次该字段未打开,因此我们认为可以使用 TFS 来解决。

文件的版本历史不包括应用的标签。要查找标签,我知道要查找的地方是使用“获取特定版本”对话框,将类型设置为标签并使用标签选择对话框查看我们制作了哪些标签,但是这个对话框没有告诉我变更集应用标签之前/之后。

这是确定特定更改是否是该版本的一部分的唯一方法是创建新工作区,将包含文件的目录映射到磁盘上的临时目录,使用“获取特定版本”对话框提取该文件发布并做一个文件差异?

请告诉我我有多愚蠢,并指出正确的方向。

【问题讨论】:

    标签: tfs label changeset


    【解决方案1】:

    在本地工作区运行

    tf history . /stopafter:1 /noprompt /r /version:Lmylabel
    

    得到

    Changeset User          Date       Comment
    --------- ------------- ---------- --------------------------------------------
    88888     brian_low     11/11/2012 did some work
    

    【讨论】:

      【解决方案2】:

      您是否尝试过打开源代码管理资源管理器,文件 -> 源代码管理 -> 标签 -> 查找标签? [编辑:这可能是测试版,我这里没有 TFS...]

      另外,您使用的是SideKicks 吗? Labels SideKick 允许您查找标签并查看相关的变更集。

      【讨论】:

      • 如果我使用“查找标签”对话框,这与我从“获取特定版本”中获得的对话框基本相同,我可以看到所有文件和目录及其相关变更集的列表,但我有滚动浏览它们并找到最大的一个。我会看看 SideKick,谢谢!
      【解决方案3】:

      TFS 中的标签并不代表特定的时间点——标签实际上可以在事件发生后进行编辑。有关详细信息,请参阅以下帖子:

      出于这个原因,在记录特定版本的时间点时,我倾向于在 TFS 中使用变更集(实际上,我们使用构建它们的实际变更集编号来标记我们的二进制文件和安装程序,以便更容易跟踪)。 (变更集确实代表了存储库状态的唯一时间点)。

      希望这会有所帮助,

      马丁。

      【讨论】:

      • 嗯,我当然明白 TFS 中的标签与 SourceSafe 中的标签不同,但如果我查看单个文件的版本历史记录,则该标签肯定会包含在该列表中,即使是通过布赖恩哈里考虑?无论如何,SideKicks 给了我们答案。
      【解决方案4】:

      今天第一次遇到这个问题。从现在开始,我将在标签注释中包含变更集编号。不是很优雅的解决方法,但满足我的需求。

      【讨论】:

        猜你喜欢
        • 2015-12-21
        • 2013-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-25
        • 2015-05-14
        • 2018-12-08
        • 1970-01-01
        相关资源
        最近更新 更多