【问题标题】:Managing Database Code Reviews in TFS在 TFS 中管理数据库代码审查
【发布时间】:2017-02-15 05:43:14
【问题描述】:

我目前面临的情况是,我在 TFS 存储库中工作,该存储库具有专用于数据库的大型源代码控制文件夹。有各种数据库对象(如表、存储过程、函数等)的子文件夹。现在,我们的团队需要在每次针对其中一个对象检查数据库更改时创建数据库代码审查任务。在过去的几个月里,我有 40 到 50 次签到涉及各种数据库对象。问题是这并不是真正有效的,因为这些签入和后续审查的很大一部分成为浪费时间,因为按时间顺序稍后签入会使该代码过时。我也只是 8-10 人团队中的一名开发人员,那些可怜的 DBA!

我有我认为可行的解决方案,但我认为不可能从 UI 中获取这些数据(至少在 TFS 2012 中),而且我什至不知道如何开始查询以获取它(假设他们甚至可以让我访问 tfs 数据库)。

我想要得到一个结果集,其中包括特定源代码管理文件夹和两个日期之间的子文件夹中的所有修改文件。然后,我希望能够获取在开始日期生效的变更集的 id 以及在该日期结束时生效的变更集 id。

希望表格看起来像这样:

File1 -BeginningChangesetID -EndingChangesetID

文件 2 -BeginningChangesetID -EndingChangesetID

通过这种方式,我们可以构建数据库代码审查,以便我们可以提供文件名、开始变更集和结束变更集。这将允许 DBA 弹出开源控制、导航到文件、右键单击并比较文件的这两个版本,然后能够就相关代码提供有意义的反馈。如果有人对如何从 TFS 提取此信息有任何建议,将不胜感激!示例查询也很棒。如果在 2012 年以后的版本中可以通过 UI 检索此数据,我也在寻找它。

【问题讨论】:

    标签: tfs


    【解决方案1】:

    如果您在源代码管理资源管理器中右键单击文件夹,您可以选择区分该文件夹。在 Diff 窗口中,您可以选择要在两侧比较的文件夹版本。

    将源设置为:

    • $/项目/文件夹
    • [服务器]
    • 版本:日期

    将目标设置为:

    • $/项目/文件夹
    • [服务器]
    • 版本;另一个日期

    您可以配置要显示的内容,您似乎感兴趣:大多数选项,在源中,在目标中,已更改。

    你可以从命令行实现同样的事情:

    tf vc folderdiff $/Project/folder;D"2017-01-01" $/project/folder;D"2017-02-01" 
        /recursive /view:different,sourceonly,targetonly
    

    【讨论】:

    • 不完全是我想要的,但它似乎是 tfs 2012 中最好的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    相关资源
    最近更新 更多