VSS から TFSへの移行 - 全般編

 

こんにちは。Visual Studio サポート チームです。

今回は、Visual SourceSafe (VSS)から Team Foundation Server (TFS)へ移行についてのお話です。

VSS 2005は、すでにメインストリーム サポート期間が終了した延長サポートフェーズの製品であり、延長サポート の終了日が 2017年 7月 11日となります。

そのため、ご利用の皆様にはTFSのソース管理機能に移行をご検討されている方も多くいらっしゃるのではと思います。

VSS 2005からTFSへソース資産を移行は、専用の移行ツールをご利用いただく方法、また、手動で取得したソースをTFSに追加する方法のいずれかの方法で可能です。

実際の移行に必要な工程には、大きく分けて 前処理移行処理後処理 があります。

また、移行をスムーズに進めるためには、以下のような点にご留意ください。

 

- 移行するデータは、極力必要最小限にする

新環境への移行が必要なソース資産を選定し、不要なファイル、履歴、また、以前にビルドされたバイナリでもはや使用しないものなどを予め除いておきます。

また、移行専用のツールをご利用いただく場合には、移行前のVSSソースに対してのAnalyzeコマンドを使用した解析、エラーの修復が必須要件になります。

 

- 移行に必要な環境の確認、また、手順のリハーサルをする

本番での移行をスムーズに行うため、移行に必要なマシン、コンポーネント、HDDの空き容量等 の実行環境の確認、手順のリハーサルなどを実施し、リハーサルで発生したエラーなどへの対応や処理に必要な容量や時間を見積りなどをして、本番移行で想定される問題を予めクリアにしておきます。

エラーが多かったり、コンパクトにできない場合は、思い切って、最新のコードのみを移行対象にすることも検討することも有効です。

これらのソース移行に関する準備、移行の実行に関する情報は 以下MSDNドキュメントにも記載がありますので、ご参考ください。

 

Visual SourceSafe からのアップグレード

https://msdn.microsoft.com/ja-jp/library/vstudio/ms253060(v=vs.120).aspx

移行においてのそれぞれの処理において 特段注意が必要な事項については以下となります。

 

 

前処理

Visual SourceSafe ANALYZE ユーティリティを使用して、データベース内のデータ整合性の懸案事項を検出し、修正します。この作業では、最新の更新を適用して、 ANALYZE ユーティリティ を最新の状態として、解析、修正を行う必要があります。

VSS 2005 の最新の更新モジュールについては、弊社サポート窓口までお問い合わせください。

また、VSS6.0のソースをTFSに移行する際には、移行前に VSS2005 形式の データに変換する必要があります。

もし、VSS2005 をお持ちで無い場合、 MSDN サブスクリプション から入手する必要があります。 (この詳細については、以前にご案内いたしました こちらの投稿 をご覧ください)

ANALYZE ユーティリティ で問題が解決できなかったり、VSS2005 の入手が困難な場合は、最新のコードのみを移行対象にすることを検討して下さい。

Visual SourceSafe からアップグレードする準備

https://msdn.microsoft.com/ja-jp/library/vstudio/ms253127.aspx

 

 

移行処理

移行処理 フェーズでは、VSSのソースをTFS の形式に変換し、TFS データベースに追加します。

移行処理では、前述いたしましたように専用ツールである VSSUpgradeを使用し、VSSのソースを履歴ともに一括でTFSに移行することができます。

VSSUpgrade は、以下のURLからダウンロード可能です。

Visual Source Safe Upgrade Tool for Team Foundation Server

https://visualstudiogallery.msdn.microsoft.com/867f310a-db30-4228-bbad-7b9af0089282

※ツールの実行対象OSは Windows 7, Windows 2008 R2, Windows 8, Windows 2012 となります。 Windows 8.1, Windows 2012 R2には対応していません。

※移行先のTeam Foundation Serverについては、2010, 2012, 2013に対応しています。 Team Foundation Server 2005, 2008 には対応していません。

VSSUpgradeツールはユーザーインターフェイスを使用したウィザードと コマンド ラインからの2通りの実行が可能です。

コマンド ラインモードでは、 ウィザード モードに比べ、より 細かい移行設定を利用することができます。

VSSUpgradeツールを使用したVSSからのソース移行については以下のMSDNにもその記載がありますので、ご参考ください。

 

 

1. ウィザード モード

ウィザードを使用した Visual SourceSafe からのアップグレード

https://msdn.microsoft.com/ja-jp/library/vstudio/jj612883.aspx

2. コマンド モード

VSSUpgrade コマンド プロンプト ツールを使用した Visual SourceSafe からのアップグレード

https://msdn.microsoft.com/ja-jp/library/vstudio/ms253090.aspx

 

なお、VSSUpgradeを使用した移行では、VSSの形式からTFSの形式ソースを変換するため 一時的なストレージとして SQL Server データベースが必要となります。

一時ストレージとして必要なSQL Server はエディションは問わないため、SQL Server Express でもご利用が可能です。

また、移行処理の実行前には、必要なソースのチェックインをすべて完了させておき、チェックアウト状態となっているソースがないことを確認した上、実行することをお奨めします。

 

 

後処理

移行完了後のログの内容をチェックします。

ログ内には、「エラー」と「警告」の2つの種類が報告されます。エラーは全て対応を行う必要があります。警告は、移行前のデータと移行後のデータを確認して問題無い場合は、対応の必要ありません。

これらの対応方法は、メッセージから推測できるものが多いかと思います。対応が困難な場合は、最新のコードのみを移行対象にすることを検討して下さい。

Visual SourceSafe からアップグレードした後の手順の実行

https://msdn.microsoft.com/ja-jp/library/vstudio/ms253170.aspx

 

 

 

最新のコードのみを移行対象にする

移行リハーサルにより、何かしらの問題が発生し、正常に移行が完了できなかった場合などは、最新のコードのみを移行対象にすることを検討して下さい。

1) VSSのデータは、参照用として、残しておきます。

2) 最新のコードを ローカルフォルダに全て取得します。

3) TFS 上に新しい チームを新規に作成します。

4) 作成したチームに取得したコードをチェックインします。