プロジェクトをTFS2005からTFS 2008に移動します
質問
1つのTFSサーバーから別のプロジェクトに単一のプロジェクトをエクスポート/転送する方法を知っている人はいますか?
私は職場に2つのTFSサーバーを持っています。デモのものとして始まってから、あまりにも多くの使用を続けた古いもの(DEMO1)と新しいサーバー:TFS1。
これはすべて私の時間の前に行われ、私は問題に対処しなければなりませんでした。
ほとんどのプロジェクトでは、履歴/支店情報は必要ありませんでした。しかし、1つはそうしました。残念ながら、この1つの大きなプロジェクトを除いて、すべてのプロジェクトを移動することがかなり前に決定されました(ファイルから直接コピーだけで歴史はありません)。
これは、TFS1が多くの小規模なプロジェクトに独自の歴史を持っていることを意味し、DEMO1は大規模なプロジェクトにのみ使用されています。
ここで、この1つのプロジェクトとそのすべての履歴を移動したいと考えています(リリースコードのストレートコピーを取得できるため、ブランチはそれほど重要ではありません)
1つのTFSサーバーから別のプロジェクトに単一のプロジェクトをエクスポート/転送する方法を知っている人はいますか?このようなことをすることができるツールはありますか?
解決
を見ることから始める必要があります TFS統合プラットフォーム CodePlexで。これは、以前はTFSからTFS移行ツールでした。おそらく、歴史を拾うためにツールをかなり大幅に変更する必要があります。使用してからしばらく経ちましたが、変更するのは非常に簡単でした。
または、この特定の目的ツールを自分で比較的簡単に書くこともできます。
あなたがする必要があるのは、そのプロジェクトの変更に基づいて、複数の移行です。基本的なロジックは次のとおりです。
- 両方のTFSサーバーに接続します
- 古いTFSサーバーから最古のコードを取得します。
- 新しいTFSサーバーにマッピングされた作業フォルダーにコピーします
- チェックイン。
- ループ:
- 次の変更セットを取得します
- Changesetのファイルを繰り返します
- 新しい作業フォルダーでそれらを編集します
- 変更をコピーします
- 古い変更セットと同じメモでチェックインする
ものをチェックした人のIDは、保存されることはなく、関連する作業項目もありませんが、変更の大部分はあります。
特別なチェックインの状況を処理する(場合によっては無視する)必要があります(たとえば、追加、削除、改名、ブランチ、マージ)が、これは非常に簡単なはずです。
他のヒント
私は数年前にこのプロセスを経験しましたが、これを自動化するためのいくつかのサポートされていないツールを見つけましたが、私が試したツールは両方ともくだらないものであり、プロジェクトを動かすのに良い仕事をしませんでした。最終的には、アクティブなプロジェクトを新しいサーバーに手動で移植し、古いサーバーを歴史のみのためだけに保持することになりました。