* 目次 [#d61c9940]
#contents

*概要 [#f0e058ce]
主要な構成管理ツールについて説明します。

**ツール [#sc209056]

***紹介するツール [#ad69bfdf]
-SVN(Subversion)
-VSS(Visual SourceSafe)
-TFS(Team Foundation Server)

***異なる点 [#t06e5d58]
-コマンド対比表~
Visual SourceSafeとSubversionの違い - プログラマーな日々~
http://d.hatena.ne.jp/JHashimoto/20110521/1306457767
|アクション|VSSのコマンド|SVNのコマンド|h
|リポジトリのファイルをローカルに取得|最新バージョンの取得|更新|
|変更ロックの取得|チェックアウト|なし(ロックをかけない)|
|ローカルとリポジトリ間の差分抽出|プロジェクトを選択して「相違点の表示」|リポジトリとの同期化|
|ローカルの変更をリポジトリに反映|チェックイン|コミット|

-ロック動作の違い~
近年主流となっているSVNとTFSは、VSSの既定の排他ロックの動作と異なる。

--動作モデル
---排他ロックするツールは、排他ロックによりコンフリクトを防止する(ロックモデル)。
---排他ロックしないツールは、コンフリクトをマージで対応する(マージ修正モデル)。

--動作モデルの変更方法
---VSS2005でも排他ロックを使用しなモードを使用できる。
---SVNではneeds-lock属性を付与することにより排他ロック動作が可能。
>crossroad's Blog Subversionでファイルのロックを強制する~
http://bagineer.blog59.fc2.com/blog-entry-33.html

-ブランチ動作の違い

--VSS上でブランチを作成した場合、
---共有と言う仕組みを使用し、変更が無い限り同じ母体を共有できる共有モデル。
---共有を解除すると、別のファイルとして管理されるようになる。

--SVN上でブランチを作成した場合、
---差分の仕組みを使用し、変更が無い限り同じ母体を使用する仕様。
---変更を開始すると、母体からの差分として管理(差分データのみ保持)。

--TFS:未調査

**構成管理一般 [#h7576516]

・・・

*SVN(Subversion) [#zcb21841]

**概要 [#ve9ddfad]

-サーバ
--集中型(クライアント・サーバ型)
--ファイル共有だけではなくHTTP(WebDAV)でもアクセスできる。

-クライアント

--TortoiseSVNが使用できる。
---IDEとの連動が無くても十分に使用できる。

--IDEアドオンとしては以下のものがある。
---Eclipse:Subversive
---Visual Studio:AnkhSVN

--DiffツールのWinMergeと連動させることができる。
---WinMergeインストール時にTortoiseSVN側に差分ツールの設定までしてくれます。
---メモ 【Subversion】TortoiseSVNの差分表示時にWinMergeを使う【WinMerge】~
http://ratememo.blog17.fc2.com/blog-entry-911.html

**リンク [#z33e5cf4]

-Tortoise SVNの使い方を覚えてもらうためのページ~
(初級,中級) - 主に言語とシステム開発に関して~
http://d.hatena.ne.jp/language_and_engineering/20110114/p1

*VSS(Visual SourceSafe) [#w0fb3014]

**概要 [#e439c2c5]

-すでに旧バージョンとなっている。

--サポートが切れている~
マイクロソフト プロダクト サポート ライフサイクル~
http://support.microsoft.com/lifecycle/?LN=ja&c1=501
---VSS6(延長も含めてサポート切れ)
---VSS2005(メインストリーム:2012/07/10に終了、延長:2017/07/11)

--単体ライセンス提供終了~
[Information] Visual SourceSafe 単体ライセンス提供終了のお知らせ~
 - Visual Studio サポート チーム blog - Site Home - MSDN Blogs~
http://blogs.msdn.com/b/jpvsblog/archive/2011/12/22/information-visual-sourcesafe.aspx
>2011年12月末日をもって、Visual SourceSafe 2005 (以下、VSS 2005)の単体ライセンスの提供を終了(MSDNで入手・使用可能)

-問題点
--ユーザ毎にライセンス料がかかる

--機能面
---オフラインでは基本的にチェックアウトできない。
---LAN上でのファイル共有をベースとしていて、それ以外の環境(Internet経由等)では使えない。

---TFSと比べて機能的に劣る。~
~
TFS・VSS比較表~
 出典:Microsoft Visual Studio:一歩先を行くバージョン管理~
    http://www.microsoft.com/ja-jp/dev/campaign/vsstotfs/default.aspx

||Team Foundation Server 2010|Visual SourceSafe 2005|h
|アーキテクチャ|● N 階層構造で DB を分離可能。&br;● リポジトリには SQL Server を使用|● 2階層構造。&br;● リポジトリに Windows の共有フォルダを使用|
|遠隔地からのアクセス|● HTTP 経由でのリモートアクセス&br;● 遠隔地オフィスにバージョン管理用のキャッシュが設置することでネットワーク負荷を軽減&br;● 専用ツール以外にも Web ブラウザによるアクセス機能をサポート|専用ツールから HTTP 経由による簡易リモートアクセス|
|セキュリティ|● 多重防御による完全なセキュリティ構造&br;● プロジェクトをはじめ、ファイルレベルまでアクセス権の設定が可能|● リポジトリにアクセスするための権限設定のみ&br;● 共有フォルダは Explorer などで読み取り可能|
|信頼性|SQL Server のストアドプロシージャを採用しており、&br;操作失敗時にはロールバックなどで既存内容を確実に維持|● トランザクション処理が非サポートであるため操作失敗時などにロールバックができない&br;● チェックイン時に DB 容量の確認を行わないため、稀にリポジトリが破損することがある|
|スケーラビリティ|● 同時使用ユーザーは 2000 名以上で設計&br;● DB 容量の制限は特にない (SQL Server Express を選択の場合は、その制限に依存)|● 同時使用ユーザーは 20 名程度で設計&br;● DB 容量の制限は 3 ~ 5 GB|

**リンク [#t1328294]
-Visual SourceSafe データベース運用ガイド~
http://support.microsoft.com/kb/902053/ja

*TFS(Team Foundation Server) [#xd273af9]

**概要 [#qeb6346b]
TFSを導入することにより、
-バージョン管理システムだけでなく、
-以下の機能も導入&連携させることができる。

++自動ビルド・システム
++作業項目管理
++プロジェクト管理
++コミュニケーション基盤

バージョン管理システム単体では(VSSと比べ)以下の機能が追加されている。

-シェルブ
-チェックイン・ポリシー

Team Explorer Everywhereを使用すればEclipseからアクセスすることもできる。

**費用の違い [#a1f22230]

-VSS 単体の場合
--VSS ライセンス×クライアント台数

-TFS 単体の場合
--CAL×クライアント台数
--サーバ・ライセンス
---Windows Server
---SQL Server、TFS

--SQL Serverに無償のExpressを使用した場合
---データベースサイズがExpress Edition では 4GBytes となる。
---SQL Server 2008R2からExpress Editionでも10Gの容量まで。

-MSDN を使っている場合は 
--Pro 以上のエディションで CAL は付属する。
--サーバライセンスも MSDN の範囲で使用できる。
--従って、VSS、TFSにアクセスする人全てがMSDNのPro以上のエディションを~
持っている場合、別途ライセンスを購入することなくVSS、TFSを利用できる。

-TFS 2012から、5人まで無償で使用可能なTFS Expressの提供が開始された。~
VS Expressは、Team Foundation Server への接続なので全てExpressでの構築も可能。

--連載:いまどきのソース・コード管理:~
第1回 TFS Expressで始めるソース・コード管理 (1-3) - @IT~
http://www.atmarkit.co.jp/ait/articles/1303/01/news082.html

--Visual Studio と Visual Studio Express 2012 for Web の比較~
http://msdn.microsoft.com/ja-jp/library/ms349441.aspx

**クライアント・ツール [#m2340c34]
Vusial Studioのチーム・エクスプローラからのソースのアクセスが基本になる。

Visual Studio 以外のツールでは、
-コマンドラインツール (tf コマンド)
-Eclipse プラグイン(Team Explorer Everywhere)

からのソース管理が可能となっています。~
その他のGUIツールに関しては見つけることができませんでした。

**リンク [#t39fc9e2]

-@IT

--チーム開発環境を無理なく導入するには? - @IT~
http://www.atmarkit.co.jp/fdotnet/vstfsintroduce/vstfsintroduce01/vstfsintroduce01_03.html

--Team Foundation Server 2010の自動ビルドを使ってみよう - @IT~
http://www.atmarkit.co.jp/fdotnet/introtfs/introtfs04/introtfs04_01.html

-Microsoft 

--Microsoft Visual Studio:一歩先を行くバージョン管理~
http://www.microsoft.com/ja-jp/dev/campaign/vsstotfs/default.aspx

--Visual Studio Team Foundation Server 2010 によるソースコード管理入門~
http://download.microsoft.com/download/A/C/5/AC56DA05-5AEA-4118-B2F9-83C4E70834F1/TFS2010_SCM.pdf

--Visual SourceSafe からの移行~
http://msdn.microsoft.com/ja-jp/library/ms253060.aspx

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS