如何在TFS中查询历史记录?

mla*_*isa 5 tfs history

我知道每个TFS工作项都显示它的历史,但它是"找到差异"的痛苦过程......我如何通过历史查询才能看到实际改变了什么?假设我不知道改变了什么,或者更改了多个项目,所以我不能使用实际的单词或短语

Ric*_*nks 5

您在使用 Visual Studio Online (VSO) 吗?如果是这样,您可以使用 REST API,特别是Updates 方法来查看工作项的每个修订版中发生了什么变化。这将让您轻松查看两个连续修订版之间的差异。

如果您希望在修订版 3 和修订版 8 之间进行更改,那么您需要自己汇总各个修订版更改,以查看这两个修订版之间的净差异。

如果您使用的是内部部署的 TFS 服务器,那么您将使用 .NET API。为此,请查看这篇CodeProject 文章以获取更多信息,但最基本的是您需要执行以下操作才能查看所有修订信息:

var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(
                    new Uri("https://tfs2010:8080/defaultcollection"));
var service = tfs.GetService<WorkItemStore>();
var workItem = service.GetWorkItem(id);
foreach (Revision revision in workItem.Revisions)
{
  foreach (Field field in wi.Fields)
  {
    //Do something interesting here instead
    var change = revision.Fields[field.Name].Value
  }
}
Run Code Online (Sandbox Code Playgroud)

从那里开始,由您来确定您真正感兴趣的信息。