【问题标题】:How can I find all of the labels for a particular TFS project sub-folder?如何找到特定 TFS 项目子文件夹的所有标签?
【发布时间】:2012-04-18 12:04:45
【问题描述】:

假设有一个 TFS 项目 Project,其子文件夹为 trunk1.0trunk 包含此项目的最新版本的应用程序代码,1.0 包含同名已发布版本的相同应用程序的代码。

两个子文件夹都有标签,所有标签都只包含其中一个子文件夹中的文件。 [您还可以假设标签在整个子文件夹中的所有文件的特定(最大)变更集上是递归的,如果这样可以简化您的答案。]

如何使用 Visual Studio、TFS tf.exe 命令行工具或任何其他公开(免费)可用的工具或代码为这些子文件夹之一创建标签列表。

注意 – 我编写了 T-SQL 代码,直接查询 TFS 版本控制数据库以生成此信息,但我很好奇是否有“更好”的方法来做到这一点。

【问题讨论】:

    标签: tfs tfvc


    【解决方案1】:

    在 Visual Studio 的 Source Control Explorer 窗口中,右键单击要为其列出相关标签的子文件夹,然后从上下文菜单。在应该出现的 History 窗口中,应该有一个子选项卡 Labels(如下所示),其中列出了应用于该子文件夹的标签(但不是那个子文件夹)。

    【讨论】:

    • 您好,这里显示的是仅为我的工作空间(由我创建)创建的标签,我如何查看其他用户创建的其他标签?..
    • @ansar 我目前没有使用 TFS,所以我无法检查,但我不记得在我使用的 TFS 版本中这受到工作区的限制;我当然不是在创建我找到的标签。
    • 对不起,我的错误,有一些标签应用于必须应用于文件夹的文件,我已经在文件夹中应用了标签,这就是为什么能够看到我创建的标签并且可以看不到其他问题由我的 TFS 管理员解决。感谢您的回复,再次抱歉
    【解决方案2】:

    在 Visual Studio 中查找标签

    1. 打开源代码管理资源管理器

    2. Source Control Explorer 中,打开您要查找的集合、团队项目、分支、文件夹或文件的快捷菜单。 p>

    3. 选择查看历史记录。您将看到一个包含所有变更集的新窗口。

    4. 在标签菜单中选择标签,如下图所示。

    【讨论】:

    • 请注意,如果您在文件夹中标记了分支,则这些标签不会以这种方式显示在父文件夹中。不幸的是,您必须在每个分支上查看历史记录。
    【解决方案3】:

    我今天需要在命令行上执行此操作,所以这里有一个批处理文件,希望能做同样的事情(我们才刚刚开始使用 TFS,并且文件夹上的标签有限,以测试 OP 的要求)。

    您需要将集合参数编辑为tf 以适应您的设置,并可能根据您的身份验证方式提供登录详细信息。

    @ECHO OFF
    SETLOCAL EnableDelayedExpansion
    
    @REM Check required parameters
    IF [%1]==[] GOTO :usage
    
    tf labels /owner:* /format:detailed %2 /collection:http://server:8080/tfs/collection > labels.txt 2> nul
    
    SET CURRENT_LABEL=
    FOR /F "tokens=1,2,3" %%G IN (labels.txt) DO (
        IF [%%G]==[Label] (
            SET CURRENT_LABEL=%%I
        ) ELSE (
            IF /I [%%H]==[%1] (
                ECHO !CURRENT_LABEL!
            )
        )
    )
    DEL labels.txt
    
    GOTO :eof
    @REM Subroutines
    
    :usage
    echo tfs_labelsforfolder - Display all labels that are applied to a folder.
    echo.
    echo tfs_labelsforfolder ^<folder^> ^[label_filter^]
    echo.
    echo     folder       - The folder to show the labels for, e.g. $/Project/folder
    echo     label_filter - Search pattern to use in tf labels command.
    echo.
    GOTO :eof
    

    【讨论】:

      猜你喜欢
      • 2013-05-18
      • 2018-04-25
      • 2016-01-05
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多