2012-03-21 7 views
3

an answer to another questionには、QueryItemsを使用して、古いファイル名で移動したファイルを検索することをお勧めします。古い名前で移動したファイルをプログラムで検索する

しかし、私はこれを理解できないようです。それはMicrosoft.teamfoundation.versioncontrol.server.dllの一部のように見えますが、私はどこにでもこれを見つけることはできません。私はこれがTFSサーバー自体のDLLであるかどうか疑問に思います(私は現時点ではアクセスできない)。もしそうなら、私が必要とするものは私を助けません。

移動したファイル名をTFS 2010の古いファイル名でプログラムで見つける方法はありますか。

+0

申し訳ありませんが、jessehouwingが正しく以下に指摘しているように、私は 'GetItems'メソッド呼び出しを意味しました。 (TFS Java SDKは、かつてはそのメソッドを "query items"と呼び、アイテムをダウンロードする 'Get ...'メソッドから曖昧さを排除していましたが、過去には絶望しています)その元の答えは反映する。 –

答えて

1

は、私は彼が実際のGetItem(S)または

Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer 
Namespace: Microsoft.TeamFoundation.VersionControl.Client 
Assembly: Microsoft.TeamFoundation.VersionControl.Client (in Microsoft.TeamFoundation.VersionControl.Client.dll) 

のQueryHistory方法これらの項目の詳細については、this msdn pageを参照のことだと思います。削除識別子を含むことができるVersionSpecを指定することができます。しかし、私が正しく覚えていれば、TFSの古いバージョンに対してこのコードを使いたい場合は注意が必要です。 TFS2010では、より効率的でバージョン間のファイル名の変更を追跡できるslotmodeが導入されました。その前に、名前の変更は基本的に旧バージョンの削除と新しいバージョンの追加になりました。関係は保存されていません。

+0

はい - 私は確かに 'GetItems'を意味しました、明確化のためにありがとう。 TFS2010と2010年以前の名前変更の処理の違いについてのもう少し些細なこと(他のものよりも些細なこと):TFS2010では、実際には以前よりも追加や削除のほうが多くなりました。 (これは、ソースに「削除、ソース名の変更」の保留中の変更がある削除の保留中の変更に反映されています)。これは、実際に、「ファイルがどこに行きましたか」というこの問題を簡単に解決できます。 deletionid。 TFS2008(IIRC)では、存在することが分かっていたバージョンで古いファイル名を照会する必要があります。 –

+0

古いファイル名をGetItemsまたはQueryHistoryに渡して新しいファイル名を取得できません。私はリネーム(リネームを含む)までチェンジセットを返していますが、新しいファイル名を返すメンバーはありません。また、名前変更後のチェンジセットも表示されません。私は何か間違っているのですか? – David

3

話しているサーバーが少なくともTFS 2010の場合は、Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer.GetChangesForChangeset()を使用してこれを行うことができます。 QueryHistoryを使用して名前の変更が発生したチェンジセットを決定したら、GetChangesForChangesetを呼び出して、 "includeMergeSourceInfo"パラメータに "true"を渡します。これにより、各ChangeオブジェクトのMergeSourcesプロパティが設定されます。

2010年に「slotmode」に切り替えると、TFSバージョンコントロールの名前の変更は、カバーの下にある「分岐と削除」操作に非常によく似ています。このため、実際には名前の変更は「マージ履歴」の一部として追跡されます。

変更を繰り返して、名前変更(IsRenameプロパティを参照)とソース項目を持つMergeSourceを持つ変更を見つけると、名前変更操作の対象項目が見つかります。

関連する問題