分散バージョン管理システムって何なん 20101218

Post on 17-Dec-2014

5.423 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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 <okamototk@hoge.com>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<hoge@hoge.com>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 から移行しないことも検討しよう

ご清聴ありがとうございました

こまかい話は後の人に任せた!!

top related