2012-04-03 13 views
3

TFS APIを使用してTFS作業項目の「取り消し」メカニズムを作成しようとしています。基本的に、ワークアイテムに新しいデータ(APIも使用)を保存した後、WorkItemを元のバージョンに戻すオプションが必要です。WorkItemをTFS APIの古いバージョンに戻す(または保存した変更を元に戻す)

擬似コードのようなもの...

1)IDの現在の作業項目を取得します:XXXXXX

2)は、 "PreviousRevId" で、この最新の 作業項目や店舗の "改訂ID" を取得

3)変更したフィールド値

4)

5)については 何らかの理由で、私たちドンを保存「tは任意のより多くのこれらの変更をしたい(理由 としてドメインロジックを簡潔にするために除外されている)

6)古いリビジョン ( 『PreviousRevId』)に戻すと、それを現在の(最新)リビジョン

答えて

2

ワークアイテムヒストをご覧ください私はVisualizerを作成しました。作業項目IDを取ることによって、すべての作業項目項目の履歴を取り出すことができます。

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

しかし、これは、あなたが情報を得るのを助けるあなたが元に戻す機能を構築するために、独自のコントロールを構築する必要があります休息します。

EDIT:またこのVisual Studioの拡張機能をチェックする価値** http://visualstudiogallery.msdn.microsoft.com/d127b275-b7b6-4504-b01e-58b4a010ff53 これは、それは歴史的な日にあったように、あなたが作業項目を見ることができます。あなたが後になっているベースラインの影響を与えます。 HTH

+0

トータルソリューションではありませんが、それを実装するために十分に人々を得るのに十分です。 :)ありがとう.. – user1060500

0

Iドン作りますこれはSDKによって実現できると思いますが、これはDBに対して直接行うことができますが、これはもちろん推奨されません。とにかく、WorkItemsWereとWorkItemsLatesはWork Itemを保持する2つのテーブルがあります。

enter image description here

+0

うん。もう一つの選択肢は、自分のディープクローンルーチンを書いて、既存の作業項目を古いリビジョンの値で更新することです。このルートを下るつもりはない。私はこの時点で元に戻す必要なく、問題を解決することができます:) – user1060500

0

自動復帰する方法はありませんが、前の値に更新するためにフィールドを反復処理するのは簡単です。リンクや添付ファイルについても心配する必要があります。

関連する問題