狠狠撸

狠狠撸Share a Scribd company logo
バージョン管理システム (VCS) は 分散型 へ 2010.4.28 @masutaka
@masutaka  の 独断 と 偏見 による内容のため、注意して下さい。
目次 リポジトリなし 集中型 分散型 分散型 VCS がもたらすもの
リポジトリ なし
VCS 登場以前の一例 diff コマンドでソフトウェアの修正内容をお知らせ。 patch コマンドで修正内容を取り込む。 修正履歴を管理したいという要望があったはず。
RCS の登場 1 つの patch が 1 つのリビジョンに相当。 commit するとリビジョンが一つ上がる。 編集にはロックが必要。  基本的に個人向け だが、過去に大規模プロジェクトで使用された実績あり。
集中型
CVS の登場 まずリポジトリを作成する必要あり。 ファイルをロックせずに変更が可能。  ファイルの追加や削除を記録できる。 ブランチ、タグの概念を導入。 ネットワーク越しの利用が可能に。
CVS の 問題 ファイルやディレクトリ名の変更削除を記録できない。 リポジトリ全体の履歴を知り辛い。 バイナリファイルの扱いが下手。 アトミックな commit が出来ない。
SVN の登場 ファイルやディレクトリのリネームに対応。 変更を加えるとツリー全体のリビジョンが上がる。 作業ディレクトリに、リポジトリの最新のコピーを持つ。 バイナリファイルを適切に推測
SVN の 問題 遅い 作業コピーの互換性 集中型であるが故に、常にリポジトリと同期を取る必要がある。
分散型
分散型 VCS の登場 Git Linus Torvals 氏 現在のメンテナーは濱野純氏  Mercurial Matt Mackall 氏  Bazzar GNU プロジェクト
集中型と分散型 の違い http://design1.chu.jp/setucocms-pjt/?p=72 http://design1.chu.jp/setucocms-pjt/?p=132
GitHub Git のホスティングサービス Web 上から Git リポジトリの作成と公開が可能。  例 http://github.com/masutaka
分散型 VCS がもたらすもの 他の開発者を邪魔しない。 集中型 VCS を独り占め。 いつでもどこでも開発できる。
参考情報 http://ja.wikipedia.org/ http://design1.chu.jp/setucocms-pjt/

More Related Content

痴肠蝉は分散型へ