Visual SourceSafe アップグレード ツールは、コードベースに対して Visual SourceSafe から TFS (Team Foundation Server) への一方向アップグレードを一度に実行するうえで便利です。Visual SourceSafe によるデータへのアクセスを廃止し、TFS でデータを管理するための準備ができている場合にのみ、このツールを使用してデータをアップグレードしてください。
TFS and Visual SourceSafe have significant functional differences.As a result, the Visual SourceSafe upgrade tools modify certain kinds of data during the upgrade.
このトピックの内容
変更セットが作成されるしくみ
共有項目と固定済み項目をアップグレードする方法
履歴データの移植方法
ユーザー名と時刻スタンプに関するデータの移植方法
特定の種類のイベントの変換方法
バージョン コントロール バインドの移植方法
How changesets are created
TFS バージョン コントロールは、ユーザーによって変更のセットがチェックインされたときに複数のファイルへの変更を 1 つの単位にまとめる機能です。この 1 つの単位のことを変更セットと呼びます。
Visual SourceSafe には、変更セットに相当する機能がありません。ただし、次の条件が満たされている場合は、変更プロセスの実行中に変更の各セットが変更セットにまとめられます。
変更が互いに競合していない。たとえば、同じファイルまたはフォルダーに対して 2 つの操作が実行されることはありません。
変更が数分以内の間隔で起きている。
変更が同一ユーザーによってチェックインされている。
変更のチェックイン コメントが同じである。
How shared and pinned items are upgraded
Visual SourceSafe では、1 つのファイルを複数のフォルダー間で共有できます。共有ファイルに対して行った変更は、それを共有している各フォルダーにレプリケートされます。TFS バージョン コントロールには、これと同等の機能がありません。アップグレード時には、Visual SourceSafe プロジェクト内の共有ファイルがアップグレードされます。その際には、TFS バージョン コントロール用にその項目の独立したコピーがサーバー上に新規作成されます。
TFS バージョン コントロールには、Visual SourceSafe の固定機能に相当する機能もありません。アップグレード時には、Visual SourceSafe プロジェクトの固定済み項目が、TFS バージョン コントロール用サーバーでラベル付き項目に変換されます。詳細については、次のセクションを参照してください。
How historical data is ported
Visual SourceSafe データベース内の項目の履歴に含まれている各イベントは、変更セットとして Team Foundation Server に転送されます。アップグレードが完了したら、このデータを [履歴] ウィンドウで表示できます。詳細については、「項目の履歴の取得」を参照してください。
アップグレード時にはデータに変更が生じる場合もあります。
How data about the user name and the time stamp is ported
Visual SourceSafe データベース内の項目の履歴に含まれている各エントリが Team Foundation Server サーバーの変更セットにアップグレードされると、次の変更が生じます。
変更セットの時刻スタンプは、項目がアップグレードされたときの日付と時刻に設定されます。
元の時刻スタンプは変更セットの Comment フィールドに格納されます。
ユーザー名は、ユーザー マップ プロセスの結果に応じて、変更セットの User フィールドまたは Comment フィールドのいずれかに格納されます。
[!メモ]
ユーザー名が履歴データにどのように割り当てられるかを制御するには、VssUpgrade を使用します。詳細については、「ユーザー名のアップグレード方法の指定」を参照してください。
How specific types of events are converted
編集、名前変更、削除などのイベントは、単純な方法で Visual SourceSafe データベースから Team Foundation Server 上の変更セットにアップグレードされます。ただし、イベントによっては、アップグレード ツールによって次の表に示すような予想外の方法で変換される場合があります。
Visual SourceSafe イベント |
TFS バージョン コントロールにアップグレードする方法 |
|---|---|
ファイルまたはフォルダーの追加 |
この変更セットは、アップグレードされる各ファイルとフォルダーの履歴における最初のイベントです。Visual SourceSafe と異なり、各子項目の親に関するイベントは記録されません。 |
分岐 |
共有は Visual SourceSafe の分岐の事前条件ですが、TFS バージョン コントロールでは共有がサポートされていません。このため、分岐したファイルのアップグレードでは移行先フォルダーにファイルのコピーが作成されます。 Visual SourceSafe データベース内の共有ファイルは、共有時に存在していたファイルのバージョンをコピーし、そのコピーを移行先フォルダーに配置することによって TFS バージョン コントロールにアップグレードされます。その後、各変更セットは、分岐イベントが発生するまで共有ファイルの両方のコピーにレプリケートされます。 |
ラベル |
暗黙的にラベル付けされた項目: Visual SourceSafe では、フォルダーにラベルを付けると、そこに格納されている項目に暗黙的にラベルが付きます。アップグレード プロセスでは、チーム プロジェクト内にあってアップグレード対象となっている項目すべてに対して明示的にラベルが付きます。 明示的にラベル付けされたファイル: Visual SourceSafe では、各ファイルに明示的にラベルを付けると、そのファイルの新しいバージョンが作成されます。アップグレード プロセスでは、TFS バージョン コントロールの適切なバージョンにラベルが移植されるものの、新しいバージョンが作成されることはありません。 メモ
If your Visual SourceSafe database contains many labels that are applied to many files, the upgrade process may be prolonged.このデータを除外するには、VssUpgrade を使用して、ラベルを無視するように構成する必要があります。詳細については、「<Label migrate="false" />」を参照してください。
|
フォルダーの移動 |
フォルダー移動イベントでは、TFS バージョン コントロールにフォルダーの新規バージョンが作成されます。 VssUpgrade を使用する場合には、移動元フォルダーと移動先フォルダーが同時にアップグレードされるときに限り、移動対象フォルダーに含まれている項目の履歴全体がアップグレードされます。詳細については、「分析機能によって検出された懸案事項のレビューと解決」を参照してください。 メモ
フォルダーの移動イベントと復元イベントが組み合わされると、履歴データが正しくアップグレードされない可能性があります。
|
復元 |
復元イベントの前に生じた履歴データはアップグレードされません。 |
固定と固定の解除 |
TFS バージョン コントロールでは、固定がサポートされません。アップグレード ツールは、2 種類のラベルを作成して、固定されたファイルをアップグレードします。 PINNED_LATEST ラベルは、固定されたファイルの固定されたバージョンおよび固定解除されたファイルの最新バージョンに適用されます。PINNED ラベルは、固定されたファイルの固定されたバージョンに対してのみ適用されます。アップグレード後は、PINNED_LATEST ラベルにより、Visual SourceSafe の Get Latest と同じファイルが取得されます。ただし、ファイルを固定した後で、ファイルの名前変更やファイルの削除などチェックイン以外のイベントが発生した場合は、同じ PINNED_LATEST ラベルであっても異なるファイルが返されることがあります。 |
共有 |
TFS バージョン コントロールでは、共有がサポートされません。Visual SourceSafe データベース内の共有ファイルは、共有時に存在していたファイルのバージョンをコピーし、コピーを移行先フォルダーに配置することによって TFS バージョン コントロールにアップグレードされます。その後、各変更セットは共有ファイルの両方のコピーにレプリケートされます。 |
ファイルまたはフォルダーの削除取り消し |
ファイルまたはフォルダーの削除取り消しイベントをアップグレードするときには、そのイベントを再生することで、そのファイルまたはフォルダーの新しいバージョンを TFS バージョン コントロールに作成します。 アップグレード ツールは、ファイル名またはフォルダー名、ファイルまたはフォルダーの削除が取り消された日付と時刻、およびユーザー名を含む変更セットを作成します。 |
How version control bindings are ported
アップグレード ツールは、各ソリューションのバージョン コントロール バインドを移植します。
メモ