Visual SourceSafe ユーザーの Team Foundation について

Visual SourceSafe は、専門的なソフトウェア開発者用のソース コード管理ツールです。Visual SourceSafe の詳細については、「Visual Studio のソース管理」を参照してください。

Team Foundation は、統合ソース管理、懸案事項のトラッキング、および開発チームのプロセス管理を行う変更管理システムです。

このトピックでは、Visual SourceSafe と Team Foundation のソース管理機能の主な違いについて説明します。

メモ :

このトピックでは、Visual SourceSafe 環境から Team Foundation バージョン管理環境への移行については説明しません。移行の詳細については、「Team Foundation への移行」を参照してください。

Team Foundation と Visual SourceSafe の相違点

Visual SourceSafe と Team Foundation バージョン管理を使用すると、次のような、同様の基本的なタスクを行うことができます。

  • 製品の複数のバージョンの同時開発

  • 製品のリリース済みバージョンに対する変更 (他のバージョンに影響を及ぼさずに変更)

  • 関連ファイルのバッチの迅速な取得

  • 変更を加えたユーザーと日時の確認

  • ファイルのリビジョンの比較

  • バージョン間での変更の移動

Team Foundation バージョン管理クライアントのインターフェイスは、Visual SourceSafe ユーザーにとってわかりやすいように設計されました。どちらの製品でも、コマンド ライン クライアントと Microsoft Visual Studio Team System が統合されています。Team Foundation バージョン管理には、Visual SourceSafe のような独立したユーザー インターフェイスはありません。

ただし、多くの類似点があるにもかかわらず、Team Foundation と Visual SourceSafe は基本的な部分が異なります。このトピックは、これらの相違点の詳細に関する 2 つの主なセクションに分かれています。

アーキテクチャの相違点」セクションでは、Team Foundation および Visual SourceSafe の間の技術的な相違点と操作上の相違点について説明します。

機能の相違点」セクションでは、片方の製品に存在し、もう一方の製品には存在しない機能を示し、機能の小さい変更について説明します。また、製品により異なる既定の設定を特定し、これらの変更を加えることにより Team Foundation を使用してチームの開発をさらに効率的にする方法について説明します。

アーキテクチャの相違点

SourceSafe エクスプローラと Visual Studio のプラグインは、通常は共有ネットワーク フォルダに格納されるファイルのコレクションである Visual SourceSafe データベースに対して読み取りと書き込みを行います。

Team Foundation は、クライアント サーバー間のソース管理システムで、.NET Web サービスを使用して SQL Server データベースに格納された項目にアクセスします。Team Foundation ソース管理のアーキテクチャにより、パフォーマンスと信頼性が向上します。

セキュリティとプロジェクト権限

Visual SourceSafe アドミニストレータ プログラムで設定する Visual SourceSafe のユーザー権限の割り当ては、Visual SourceSafe データベース フォルダの Windows 共有アクセス許可とは関連していません。権限の割り当ては、特定の Visual SourceSafe プロジェクトや個々の Visual SourceSafe ユーザーに行うことができますが、すべての Visual SourceSafe ユーザーに Visual SourceSafe データベース フォルダの同じアクセス許可を付与する必要があります。そのため、Visual SourceSafe アドミニストレータ プログラムを使用して指定されたプロジェクト レベルの権限に関係なく、すべての Visual SourceSafe ユーザーは共有フォルダにアクセスでき、すべての Visual SourceSafe データに対するフル コントロールを持っています。

Team Foundation では、ユーザー固有の操作アクセス許可と、プロジェクト レベルのアクセス権限が Windows ユーザー アカウントに結び付けられています。ユーザー認証は、インターネット インフォメーション サービスにより安全に実行されます。SQL Server データベースに対する独立した権限を、ソース管理操作を実行する個々のユーザーに付与する必要はありません。その結果、Team Foundation のセキュリティ インフラストラクチャはセキュリティで保護された堅牢で管理しやすいものとなります。

信頼性

Visual SourceSafe にはサーバー コンポーネントがないため、クライアントからデータベースへのデータ転送に関係する操作はトランザクションではありません。これは、問題が発生したときに操作をロールバックできないことを意味しています。まれな場合として、書き込み操作の途中でネットワーク接続が切断されるなどの問題が発生した場合、関係のあるファイルの整合性が失われたり、情報が失われたりする可能性があります。

Team Foundation は、ネットワーク接続の懸案事項の影響を受けないストアド プロシージャを使用して、データベース内で書き込み操作を行うクライアント サーバー アプリケーションです。さらに、エラーの発生時にロールバックできるように特定の操作はトランザクションを使用して実行されます。このアーキテクチャにより、ソース ファイルが知らないうちに破損することがなくなります。さらに、他に依存する変更を含むファイルのグループは、多くの場合十分にテストされた変更セットとして、すべてソース管理サーバーに同時にコミットされます。

スケーラビリティ

Team Foundation では 2,000 人までのユーザーのチームをサポートできるのに対して、Visual SourceSafe では 20 人以下のユーザーが推奨されます。Team Foundation サーバーには、使用中のハードウェアでサポートされる限り、SQL Server データベースで許容されるサイズ (テラバイト) のデータを含めることができますが、Visual SourceSafe データベースで推奨されるサイズ制限は 4 GB です。

機能の相違点

変更セット

理論的には、Visual SourceSafe データベースの内部構造と Team Foundation ソース管理サーバーの内部構造は似ています。どちらのデータベースおよびサーバーも、階層として編成されます。フォルダにはファイルが含まれています。ファイルは、番号および作成日時で識別されるバージョンで構成されています。

Team Foundation では、変更セットという概念が強化されました。これは、Visual SourceSafe にはない概念です。変更セットは、Team Foundation が単一のチェックイン操作に関連するものすべて (ファイルとフォルダのリビジョン、作業項目に関連するリンク、チェックイン メモ、チェックイン コメント、および変更を行ったユーザーなどの他の情報) を格納する論理コンテナです。詳細については、「バージョン管理変更セットの操作」を参照してください。

共有と固定

Team Foundation には、Visual SourceSafe の共有機能またはピン設定機能に相当するコマンドがありません。Visual SourceSafe プロジェクトを Team Foundation に移行する際、Visual SourceSafe データベースのピンはラベルに置き換えられます。

Team Foundation での履歴の保存方法の相違点

Visual SourceSafe と Team Foundation では、次のアクションについての履歴の保存方法が異なります。

  • 追加と作成   Visual SourceSafe では、ファイルやフォルダを追加すると、そのファイルだけでなく親バージョンも作成されます。親の履歴には、アクションが "追加" と記録され、ファイルの履歴にはアクションが "作成" と記録されます。Team Foundation では、ファイルやフォルダを追加すると、そのファイルやフォルダ自体だけが "追加" アクションとして作成されます。このアクションでは、親バージョンは作成されません。

  • 名前変更、削除、削除取り消し   Visual SourceSafe ではこれらのアクションによって新しい親バージョンが作成されますが、Team Foundation では項目自体の新しいバージョンが作成されます。

  • 移動   Visual SourceSafe では、フォルダを移動すると、移動元と移動先の両方の親フォルダの新しいバージョンが作成され、アクションは移動先および移動元の各親に記録されます。フォルダ F のバージョンは作成されません。たとえば、移動元 S から移動先 D にフォルダ F を移動した場合、D の新しいバージョンが "Move $F from S" アクションとして作成され、S の新しいバージョンが "Moved $F To D" アクションとして作成されます。Team Foundation では、F の新しいバージョンだけが "Rename" アクションとして作成されます。

チェックアウトとチェックインの相違点

Visual SourceSafe では、ファイルを編集する場合だけ明示的にチェックアウトとチェックインを行う必要があります。Team Foundation では、すべてのアクションに明示的なチェックアウトとチェックインが必要です。

Team Foundation での機能の相違点

Team Foundation では、既定で、ファイルのチェックアウト時に Get 操作を実行する際、メッセージが表示されます。

Team Foundation では、複数のユーザーが同じ項目を同時にチェックアウトし、変更を加えることができます。Visual SourceSafe では、既定ではチェックアウトは排他的です。ただし、Team Foundation では、ファイルをロックして、他のユーザーがチェックアウトしたり変更をチェックインしたりできないようにすることができます。詳細については、「ロックの種類について」を参照してください。

分岐とマージ   Visual SourceSafe では、非常に基礎的な分岐とマージがサポートされます。これは、Visual SourceSafe ではファイルやフォルダの 2 つの分岐間でマージ履歴が保存されないためです。一方、Team Foundation バージョン管理では、マージ履歴がサポートされます。Visual SourceSafe では、マージ履歴がないため、基本バージョンなしでマージを実行することになります。

チェックアウト時の最新バージョンの取得

Visual SourceSafe でファイルをチェックアウトすると、Visual SourceSafe はソース管理からファイルの最新バージョンを取得します。Team Foundation バージョン管理でチェックアウト動作を構成するには、2 つの方法があります。Visual SourceSafe と同様のチェックアウト動作にする場合は、チェックアウト時に最新バージョンを取得するようにチェックアウト設定を構成します。詳細については、「方法 : チェックアウト設定を構成する」を参照してください。

また、チェックアウト時にサーバーから最新バージョンを取得せず、ファイルのローカル コピーにチェックアウトとしてマークするように動作を構成することもできます。このチェックアウト動作は、取得操作を実行して一連のファイルを取得する場合に便利です。一般に、コンピュータ上にあるソース ファイルの構成は、Team Foundation バージョン管理から取得した特定のファイル (連携することがわかっている複数のファイル) に関する、ある時点でのスナップショットを表します。したがって、これらの構成をビルドしてテストすることができます。

ワークスペースで作業を行う開発者は、他の開発者が加えた変更から分離されています。必要に応じて取得操作を実行することにより、他の開発者が加えた変更を受け入れるタイミングを制御できます。理想的には、これを行う際に 1 つか 2 つのファイルだけでなく、ソースの構成全体を更新します。これは、1 つのファイルに加えられる変更は、一般に、他のファイルに対する変更に基づいて生じるものであるからです。チェックアウト動作により、常に、ビルドとテストの実行が可能な、一貫性のあるソースのスナップショットが存在することになります。

変更をチェックインするとき、Team Foundation では、自分が行った変更が、そのサーバー バージョンで行われた他の変更とマージされます。競合が検出された場合は、[競合の解決] ダイアログ ボックスが開き、メッセージが表示されます。

Visual SourceSafe にはない Team Foundation の機能

Team Foundation にはない Visual SourceSafe の機能

  • 共有

  • ピン

  • アーカイブおよび復元

  • キーワード展開

参照

概念

チュートリアル : Visual SourceSafe から Team Foundation への移行