2017-02-14 22 views
0

我目前面临的情况是,我在TFS存储库中工作,该存储库有一个专用于数据库的大型源代码管理文件夹。有各种数据库对象的子文件夹,比如表,存储过程,函数等等。现在我们的团队每次检查对这些对象之一进行数据库更改时,都会创建一个DB代码审阅任务。在过去的几个月里,我已经在40-50之间检查了各种数据库对象。问题在于这不是很有效,因为这些检入和后续检查的重要百分比会浪费时间,因为按时间顺序检查会使代码过时。我只是一个8-10人团队的开发人员,那些可怜的DBA!管理TFS中的数据库代码评论

我有我认为会是一个工作解决方案,但我不认为这是可能从UI(至少在TFS 2012)获取这些数据,我不知道如何甚至开始查询得到它(假设他们甚至会让我访问tfs db)。

我想得到的是一个结果集,包括特定源控制文件夹内的所有修改文件和两个日期之间的子文件夹。然后,我希望能够获取在开始日期有效的变更集的ID和在该日期结束时有效的变更集ID。

表将有希望是这个样子:

文件1 - BeginningChangesetID - EndingChangesetID

文件2 - BeginningChangesetID - EndingChangesetID

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

回答

0

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

将源设置为:

  • $ /项目/文件夹
  • [SERVER]
  • 版本:日期

目标设置为:

  • $/Project/Folder
  • [服务器]
  • 版本;另一个日期

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

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

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

不正是我一直在寻找,但它似乎是在TFS 2012最好的选择。 –