2012-04-03 45 views
3

我正在寻找使用TFS API为TFS工作项目创建“撤消”机制 - 这将撤销已提交的更改。基本上,在将新数据(也使用API​​)保存到工作项目后,我希望将WorkItem恢复到以前的版本。在TFS API中恢复(或撤消保存的更改)WorkItem到旧版本

伪代码这样的事情...

1)获取当前工作项目编号:XXXXXX

2)获取 “修订ID”,在 “PreviousRevId” 这一最新 工作项和存储的

3)修改字段值

4)保存

5) 某种原因,我们不要“不想这些变化的话(域逻辑 来的原因被排除为了简洁)

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

回答

2

查看工作项目历史记录我创建的Visualizer。通过取得工作项目Id,您可以取出所有工作项目字段的历史记录。

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

但是,这只会帮助你得到的信息,休息,你就必须建立自己的控制,建立回复功能。

编辑:另外值得一检查这个的Visual Studio扩展** http://visualstudiogallery.msdn.microsoft.com/d127b275-b7b6-4504-b01e-58b4a010ff53 这可让您看到工作项目,因为它是历史悠久的日期。给你的基线影响你后。 HTH

+0

不是一个完整的解决方案,但足以让人们很好地实施它。 :) 谢谢.. – user1060500 2012-04-10 17:23:05

0

我不“T认为,这可以通过SDK来实现,你可以做到这一点对直接数据库,但这是不推荐的所有课程,反正主要2个表来保存工作项WorkItemsWere和WorkItemsLates看到以下内容:

enter image description here

+0

是的。另一种选择是编写我自己的深度克隆例程,以使用旧版本的值更新现有工作项。不会沿着这条路线走下去。我能够解决问题,而无需在这一点上恢复:) – user1060500 2012-04-03 21:41:30

0

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