将工作项还原(或撤消保存的更改)为TFS API中的旧版本

将工作项还原(或撤消保存的更改)为TFS API中的旧版本,tfs,tfs-sdk,Tfs,Tfs Sdk,我希望使用TFSAPI为TFS工作项创建一个“撤消”机制——这将撤消提交的更改。基本上,在将新数据(也使用API)保存到工作项之后,我希望选择将工作项恢复到以前的版本 类似这样的伪代码 1) 获取Id为xxxxxx的当前工作项 2) 获取此最新版本的“修订id” 工作项并存储在“PreviousRevId”中 3) 修改字段值 4) 拯救 5) 为了 无论出于什么原因,我们都不想再进行这些更改(域逻辑 (为了简洁起见,不包括原因) 6) 恢复到旧版本 (“PreviousRevId”)并使其成为

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

类似这样的伪代码

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

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

3) 修改字段值

4) 拯救

5) 为了 无论出于什么原因,我们都不想再进行这些更改(域逻辑 (为了简洁起见,不包括原因)

6) 恢复到旧版本
(“PreviousRevId”)并使其成为当前(最新)版本

我认为SDK无法实现这一点,您可以直接对DB执行此操作,但这当然是不推荐的,无论如何,保存工作项的主要两个表是WorkItemsWere和WorkItemsSlate请参见以下内容:


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

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

编辑:也值得检查此visual studio扩展**
这使您可以查看工作项在历史日期的状态。给你你想要的基线影响。HTH

没有自动恢复的方法,但foreach循环很容易遍历字段以将其更新为以前的值。您还必须担心链接和附件。

是的。另一个选项是编写我自己的深度克隆例程,用旧版本的值更新现有工作项。我不会走这条路。我能够解决这个问题,而不需要在这一点上恢复:)不是一个全面的解决方案,但足以让人们顺利实施它。:)谢谢