【问题标题】:Populating the TFS WorkItem revisions collection填充 TFS WorkItem 修订集合
【发布时间】:2010-01-15 22:48:04
【问题描述】:

我正在编写一个需要访问 TFS 工作项模板的所有修订版的工具。

Workitem 有一个 Revisons 集合,以及返回修订数的 Rev 属性。

当我尝试通过集合执行 foreach 时,即使它在我的测试工作项中包含 6 个“条目”,集合也是空的。

为了解决这个问题,我使用 GetWorkItem(WorkItemID, RevisionID),在 for 循环中递增修订 ID 以获取修订。我必须这样做似乎很疯狂,而且那里的集合不包含它应该包含的内容。

我在这里遗漏了什么,或者这只是 TFS 客户端 API 中的一个错误。

【问题讨论】:

    标签: tfs


    【解决方案1】:

    经过大量挖掘,我现在很清楚,如果你想获得一个工作项的所有修订,你必须显式加载你想要的修订(2),这使得修订集合几乎毫无用处.

    【讨论】:

      【解决方案2】:

      根据您检索工作项的方式,它可能仅被部分加载。在访问 Revisions 集合之前,尝试在工作项上调用 Open 方法。

      【讨论】:

      • 调用 open 不会填充集合。
      【解决方案3】:

      你从哪里得到工作项?我知道当我使用 sourceControl.QueryHistory 获取文件的版本历史记录时,我必须将我的参数之一(布尔包括 Changes)设置为 true 才能获取变更集中的更改。

      【讨论】:

        【解决方案4】:

        我正在使用 Microsoft.TeamFoundation.Controls.PickWorkItemsControl 来选择我需要的工作项。之后,revsionsCollectoin 完成。也许这会有所帮助:

        // select the workitems using the picker
        ArrayList workItems = _workItemPicker.Control.SelectedWorkItems();
        
        // after that use a foreach and output all history included in each revision
        private void PrintHistory(WorkItem workitem)
        {
        
                RevisionCollection revisions = workitem.Revisions;
        
                foreach (Revision revision in revisions)
                {
                    String history = (String) revision.Fields["History"].Value;
                    Console.WriteLine("**** Revision {0}", revision.Fields["Title"], revision.Fields["Changed Date"]);
        
                    foreach (Field field in revision.Fields)
                    {
                        Console.WriteLine("* field {0}:{1} ", field.Name, field.Value);
                    }
        
                    Console.WriteLine("****");
                    Console.WriteLine();
                }
        
        } 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-15
          • 1970-01-01
          • 1970-01-01
          • 2023-03-23
          • 2011-08-13
          相关资源
          最近更新 更多