SlideShare a Scribd company logo
前説
分散バージョン管理
  システム
 ってなんなん ?


      O かもと
自己紹介

●Twitter: LightningX
●TracLightning の開発者の一人

●先進的な開発ツール、開発プロセスに

●興味あり

●現在 TracLightning+ エルシャダジャイル

●プロセスにより開発の実験中
エルシャダジャイル ?
エルシャダジャイル =
エルシャダイ + アジャイル
分散バージョン管理システムって何なん 20101218
エルシャダジャイル

絶対流行りません
TracLightning 3.0..
 の何処かのバージョンから
アジャイル対応はじめました !!
分散バージョン管理システムって何なん 20101218
OSS バージョン管理システムの発展
     アトミックなコミット
     フィーチャ・タスク単位の履歴管理
     楽観ロックの併用




                       vers
                               分散バージョン管理
     CVS      Subversion             システム
                              (Git,Mercurial,Bazaar)




共有モデルによるファイル管理       ブランチ・マージモデル
ファイル単位の履歴管理          ローカルコミット
上書きの回避・編集の競合のマージ     ローカルでの diff/ 履歴調査
ブランチによる並行開発          ログのリファクタリング
                     マージトラッキング
中央型モデルと分散型モデル
中央型               分散型




  作業用のファイルのみ保持   クローンした各個人のリポジトリを保持
      分散バージョン管理のメリット / デメリット
オフラインで作業可能          ロックができない
競合の影響を受けにくい         中央リポジトリへの反映が
マージのトラッキングが可能                遅くなる
フォークが楽              フォークが乱立
Darcs      GNU Arch

    主な分散バージョン
        管理システム
                   SVK
Codeville
          Monotone
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    Git           Mercurial SCC plugins for Bazzar Integration
           Studio    Extensions    MS Visual Studio          for Visutal Studio

チケットシステム (ITS,BTS)   Trac,JIRA,    Trac,JIRA,Redmine        Trac,JIRA,Redmine
の対応                  Redmine

ホスティング               GitHub,       BitBucket,               launchpad
                     sf.jp,        Google Code
                     asembla       sf.jp
リビジョン表示
Mercurial と Bazaar は番号で
表示できるので分かり易い

                          commit 1746860854eabb319805718484327a9b05629aba

Git                       Author: U-piccolookamototk <okamototk@hoge.com>
                          Date: Thu Dec 9 19:27:34 2010 +0900

                            テストのコミット。


                          changeset: 2:6ec235a59683

Mercurial                 tag:
                          user:
                          date:
                                  tip
                                   okamototk
                                   Thu Dec 09 19:19:54 2010 +0900
                          summary:    テストのコミット。


                          revno: 1
                          committer: Takashi Okamoto<hoge@hoge.com>
Bazaar                    branch nick: win32app
                          timestamp: Thu 2010-12-10 18:56:26 +0900
                          message:
                            テストのコミット
Google Trends   Git
                Mercurial
                Bazzar
Google Trends   Git
 ( フランス )       Mercurial
                Bazzar
Google Trends( 日本 )   Git
                      Mercurial
                      Bazzar
Google Trends(GUI)




TortoiseGit           EGIT
TortoiseHg            Eclipse Mercurial
まとめ
●   ギークを目指すなら Git
    ●
        Linux/Ruby 系の人に多い
    ●
        分かり難いことこそ美徳だ
●
    初心者とフランス好きには Mercurial をお勧め !!
    ●   リビジョンが分かり易い
    ●   そこそこ実績も多いし、スポンサーがあり安心
    ●
        TortoiseHg で Windows サポートもばっちり
    ●
        ヨーロッパで人気があるので使ってればヨーロッパ出張とかあるか
        も
●   Bazaar
    ●
        日本語対応完璧
●
    デメリットもあるので Subversion から移行しないことも検討しよう
ご清聴ありがとうございました


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

More Related Content

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

  • 1. 前説 分散バージョン管理 システム ってなんなん ? O かもと
  • 9. OSS バージョン管理システムの発展 アトミックなコミット フィーチャ・タスク単位の履歴管理 楽観ロックの併用 vers 分散バージョン管理 CVS Subversion システム (Git,Mercurial,Bazaar) 共有モデルによるファイル管理 ブランチ・マージモデル ファイル単位の履歴管理 ローカルコミット 上書きの回避・編集の競合のマージ ローカルでの diff/ 履歴調査 ブランチによる並行開発 ログのリファクタリング マージトラッキング
  • 10. 中央型モデルと分散型モデル 中央型 分散型 作業用のファイルのみ保持 クローンした各個人のリポジトリを保持 分散バージョン管理のメリット / デメリット オフラインで作業可能 ロックができない 競合の影響を受けにくい 中央リポジトリへの反映が マージのトラッキングが可能 遅くなる フォークが楽 フォークが乱立
  • 11. Darcs GNU Arch 主な分散バージョン 管理システム SVK Codeville Monotone
  • 12. Git ● Linux が利用していた BitKeeper のライセンス の問題により Linus Torvals により開発される。 ● 採用プロジェクト ● Linux Kernel,Ruby on Rails,Perl,Android,Gnome, X.org,PostgreSQL,Chromium ● 主に Ruby/Linux 系の開発者に多い ● フリーのホスティングサービス ● GitHub ,Assembla,SourceForge.JP,CodeRepos
  • 13. ローマ神話に登場する神マーキュリー ( 商業、盗 賊、雄弁、学問の神 ) の形容詞。水銀 ( 元素記号 hg) ● 多数のスポンサー企業 ● 採用プロジェクト ● Python,OpenJDK,OpenSolaris,OpenOffice, NetBeans,Xen,Mozilla,Go 言語 ● Oracle( 元 Sun) 系の OSS に多い ● フリーのホスティングサービス ● BitBucket 、 SourceForge.JP 、 Assembla ● Google Code 、 CodePlex
  • 14. Bazaar ● Canonical LTD の支援のもと開発。 ● Gnu プロジェクト ● 日本語のハンドリングが完璧 ● 採用プロジェクト ● Ubuntu, Mailman, MySQL, MariaDB, Bugzilla, Squid, Eucalyptus,OpenStack ● フリーのホスティングサービス ● LaunchPad
  • 15. かんたんな比較表 項目 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 Git Mercurial SCC plugins for Bazzar Integration Studio Extensions MS Visual Studio for Visutal Studio チケットシステム (ITS,BTS) Trac,JIRA, Trac,JIRA,Redmine Trac,JIRA,Redmine の対応 Redmine ホスティング GitHub, BitBucket, launchpad sf.jp, Google Code asembla sf.jp
  • 16. リビジョン表示 Mercurial と Bazaar は番号で 表示できるので分かり易い commit 1746860854eabb319805718484327a9b05629aba Git Author: U-piccolookamototk <[email protected]> Date: Thu Dec 9 19:27:34 2010 +0900 テストのコミット。 changeset: 2:6ec235a59683 Mercurial tag: user: date: tip okamototk Thu Dec 09 19:19:54 2010 +0900 summary: テストのコミット。 revno: 1 committer: Takashi Okamoto<[email protected]> Bazaar branch nick: win32app timestamp: Thu 2010-12-10 18:56:26 +0900 message: テストのコミット
  • 17. Google Trends Git Mercurial Bazzar
  • 18. Google Trends Git ( フランス ) Mercurial Bazzar
  • 19. Google Trends( 日本 ) Git Mercurial Bazzar
  • 20. Google Trends(GUI) TortoiseGit EGIT TortoiseHg Eclipse Mercurial
  • 21. まとめ ● ギークを目指すなら Git ● Linux/Ruby 系の人に多い ● 分かり難いことこそ美徳だ ● 初心者とフランス好きには Mercurial をお勧め !! ● リビジョンが分かり易い ● そこそこ実績も多いし、スポンサーがあり安心 ● TortoiseHg で Windows サポートもばっちり ● ヨーロッパで人気があるので使ってればヨーロッパ出張とかあるか も ● Bazaar ● 日本語対応完璧 ● デメリットもあるので Subversion から移行しないことも検討しよう