【问题标题】:How to Populate Comment Field When Checking in Pending Changes With TFS?使用 TFS 签入待处理更改时如何填充注释字段?
【发布时间】:2014-07-23 19:41:54
【问题描述】:

请参考下图。是否有一些 Visual Studio 插件,或一些 OOTB 方法为 Checkin 预填充 cmets?如果没有,有没有办法可以将文件从“包含的更改”部分拖到?我什至接受一种在其他外部程序中吐出所有待处理文件的方法,我可以将这些文件复制粘贴到评论中。

通常我喜欢用这种方式评论我的签到:

   FileA
   -  MethodA
      - Changed Error Handling
   -  MethodB - Added
   -  MethodC
      - Fix for Bug #8675309

   FileB
   -  MethodFoo - Moved to FileC

如果我不必键入文件签入层次结构,它将节省 很多 时间。

【问题讨论】:

  • 为什么你需要输入文件层次结构 - 变更集 已经 记录了它,它还可以关联已修复的错误(假设你将它们集成为工作项)。我主张保留变更集,如函数 - 做一件事,并做好。
  • @RowlandShaw 有没有一种简单的方法可以将变更集记录为文本?我可以复制的东西。
  • 这是本地 TFS 服务器吗?您可以(以不受支持的方式)直接查询数据库
  • @RowlandShaw 它在前提下。但如果我没有签入,它怎么知道我要签入什么?
  • 如果您使用的是服务器工作区,则挂起的更改仅在数据库中。

标签: visual-studio tfs visual-studio-2013


【解决方案1】:

在您的示例中,我会将其拆分为 4 个单独的变更集,并带有以下 cmets:

  1. 更改错误处理
  2. 添加方法B
  3. 修复了错误 #123
  4. 将 foo 移至 FileC

这些都不是自动生成的,需要人工输入。

【讨论】:

    【解决方案2】:

    正如我之前在 cmets 中提到的,我主张尝试为单个工作项(即错误 8675309 或功能 X)保留每次签入,因为变更集已经记录了关联的文件,以及相关的工作项目;同样,修改历史记录(或注释功能)涵盖了已更改的内容(因此诸如“添加的方法 foo”之类的内容)。

    如果您使用服务器工作区,那么您可以使用 SQL 编写报告,例如:

    SELECT      u.displayname,
                w.WorkspaceName,
                ISNULL(w.Computer, 'Shelveset'),
                pc.TargetServerItem,
                pc.LockStatus
    
    FROM        [dbo].[tbl_Workspace] w
    
    INNER JOIN  dbo.tbl_PendingChange pc 
        ON      w.WorkspaceId = pc.WorkspaceId
    
    INNER JOIN  [dbo].[tbl_Identity] u 
        ON      w.OwnerId = u.IdentityId
    

    警告:该 SQL 最初用于 TFS2008,因此架构可能已更改。同样值得注意的是,微软不支持这样的直接查询。

    【讨论】:

    • 不要对操作存储运行查询。它不仅不受支持,而且可能会使您失去产品团队的支持。不要这样做。使用 API 获取您需要的东西...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多