【问题标题】:Revert (or undo saved changes) a WorkItem to an older version in TFS API在 TFS API 中将 WorkItem 恢复(或撤消保存的更改)到旧版本
【发布时间】:2012-04-06 00:01:55
【问题描述】:

我希望使用 TFS API 为 TFS 工作项创建“撤消”机制 - 这将撤消已提交的更改。基本上,在将新数据(也使用 API)保存到工作项后,我希望可以选择将工作项恢复到以前的版本。

类似这样的伪代码...

1) 获取 Id:xxxxxx 的当前工作项

2) 获取最新版本的“修订 ID” 工作项并存储在“PreviousRevId”中

3)修改字段值

4)保存

5)对于 无论出于何种原因,我们不再需要这些更改(域逻辑为 为简洁起见,排除了原因)

6) 恢复到旧版本 ("PreviousRevId") 并使其成为当前(最新)修订版

【问题讨论】:

    标签: tfs tfs-sdk


    【解决方案1】:

    看看我创建的工作项历史可视化工具。通过获取工作项 ID,您可以提取所有工作项字段的历史记录。

    http://geekswithblogs.net/TarunArora/archive/2011/08/21/tfs-sdk-work-item-history-visualizer-using-tfs-api.aspx

    但这只会帮助您获取信息,其余的您必须构建自己的控件来构建还原功能。

    编辑: 也值得一试这个视觉工作室扩展** http://visualstudiogallery.msdn.microsoft.com/d127b275-b7b6-4504-b01e-58b4a010ff53 这使您可以查看历史日期的工作项。为您提供您所追求的基线影响。高温

    【讨论】:

    • 不是一个完整的解决方案,但足以让人们顺利实施它。 :) 谢谢..
    【解决方案2】:

    我不认为这可以通过 SDK 实现,您可以直接针对 DB 执行此操作,但当然完全不推荐这样做,无论如何,保存工作项的主要 2 个表是 WorkItemsWere 和 WorkItemsLates 参见以下内容:

    【讨论】:

    • 是的。另一种选择是编写我自己的深度克隆例程,以使用旧版本中的值更新现有工作项。不会走这条路。我能够解决问题而无需此时恢复:)
    【解决方案3】:

    没有自动恢复的方法,但它是一个简单的 foreach 循环遍历字段以将它们更新为以前的值。您还必须担心链接和附件。

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 2010-11-16
      • 2020-06-12
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      相关资源
      最近更新 更多