分散バージョン管理システムって何なん 20101218
DESCRIPTION
Shibuya.trac分散バージョン管理システム勉強会前説TRANSCRIPT
前説分散バージョン管理
システムってなんなん ?
O かもと
自己紹介
●Twitter: LightningX●TracLightningの開発者の一人●先進的な開発ツール、開発プロセスに●興味あり●現在TracLightning+エルシャダジャイル●プロセスにより開発の実験中
エルシャダジャイル ?
エルシャダジャイル =エルシャダイ + アジャイル
エルシャダジャイル
絶対流行りません
TracLightning 3.0..の何処かのバージョンから
アジャイル対応はじめました !!
vers
OSS バージョン管理システムの発展
CVS Subversion分散バージョン管理
システム(Git,Mercurial,Bazaar)
アトミックなコミットフィーチャ・タスク単位の履歴管理楽観ロックの併用
共有モデルによるファイル管理ファイル単位の履歴管理上書きの回避・編集の競合のマージブランチによる並行開発
ブランチ・マージモデルローカルコミットローカルでの diff/ 履歴調査ログのリファクタリングマージトラッキング
中央型モデルと分散型モデル
作業用のファイルのみ保持 クローンした各個人のリポジトリを保持
オフラインで作業可能競合の影響を受けにくいマージのトラッキングが可能フォークが楽
中央型 分散型
ロックができない中央リポジトリへの反映が 遅くなるフォークが乱立
分散バージョン管理のメリット / デメリット
主な分散バージョン管理システム
Darcs
SVKCodeville
Monotone
GNU Arch
Git
● Linux が利用していた BitKeeper のライセンスの問題により Linus Torvals により開発される。
● 採用プロジェクト● Linux Kernel,Ruby on Rails,Perl,Android,Gnome,
X.org,PostgreSQL,Chromium● 主に Ruby/Linux 系の開発者に多い
● フリーのホスティングサービス● GitHub ,Assembla,SourceForge.JP,CodeRepos
● ローマ神話に登場する神マーキュリー ( 商業、盗賊、雄弁、学問の神 ) の形容詞。水銀 ( 元素記号 hg)
● 多数のスポンサー企業● 採用プロジェクト
● Python,OpenJDK,OpenSolaris,OpenOffice,NetBeans,Xen,Mozilla,Go 言語
● Oracle( 元 Sun) 系の OSS に多い● フリーのホスティングサービス
● BitBucket 、 SourceForge.JP 、 Assembla● Google Code 、 CodePlex
Bazaar● Canonical LTD の支援のもと開発。● Gnu プロジェクト● 日本語のハンドリングが完璧● 採用プロジェクト
● Ubuntu, Mailman, MySQL, MariaDB, Bugzilla, Squid, Eucalyptus,OpenStack
● フリーのホスティングサービス● LaunchPad
かんたんな比較表項目 Git Mercurial Bazaar
日本語対応(CUI)
コミットメッセージ
○ ○ ○
ファイル名 ○( 要設定 ) ○(cygwin+utf-8) ◎
リビジョン表示 ハッシュ ハッシュ / ナンバー ナンバー
プロキシ認証 ○ ○ ×
GUI Windows TortoiseGit TortoiseHg bazaar-explorer
MacOSX GitX/Tower MacHg bazaar-explorer
Linux qgit Hgtk,hgct bazaar-explorer
開発環境との統合
Eclipse EGit Mercurial Eclipse Eclipse Bzr
Visual Studio
Git Extensions
Mercurial SCC plugins for MS Visual Studio
Bazzar Integration for Visutal Studio
チケットシステム (ITS,BTS)の対応
Trac,JIRA,Redmine
Trac,JIRA,Redmine Trac,JIRA,Redmine
ホスティング GitHub,sf.jp,asembla
BitBucket,Google Codesf.jp
launchpad
リビジョン表示commit 1746860854eabb319805718484327a9b05629abaAuthor: U-piccolo\okamototk <[email protected]>Date: Thu Dec 9 19:27:34 2010 +0900
テストのコミット。
changeset: 2:6ec235a59683tag: tipuser: okamototkdate: Thu Dec 09 19:19:54 2010 +0900summary: テストのコミット。
revno: 1committer: Takashi Okamoto<[email protected]>branch nick: win32apptimestamp: Thu 2010-12-10 18:56:26 +0900message: テストのコミット
Mercurial
Bazaar
Git
Mercurial と Bazaar は番号で表示できるので分かり易い
Google TrendsMercurial
Bazzar
Git
Google Trends( フランス ) Mercurial
Bazzar
Git
Google Trends( 日本 )Mercurial
Bazzar
Git
Google Trends(GUI)
TortoiseHgTortoiseGit
Eclipse MercurialEGIT
まとめ
● ギークを目指すなら Git
● Linux/Ruby 系の人に多い● 分かり難いことこそ美徳だ
● 初心者とフランス好きには Mercurial をお勧め !!
● リビジョンが分かり易い● そこそこ実績も多いし、スポンサーがあり安心● TortoiseHg で Windows サポートもばっちり● ヨーロッパで人気があるので使ってればヨーロッパ出張とかあるか
も● Bazaar
● 日本語対応完璧● デメリットもあるので Subversion から移行しないことも検討しよう
ご清聴ありがとうございました
こまかい話は後の人に任せた!!