バージョン管理システムにGitやMercurialなどの比較的新しい分散型バージョン管理システムを採用する事例が増えている。もともとOSSプロジェクトで採用するバージョン管理システムは中央集権型のCVSが多かった。しかしCVSは厄介な面もあり、こうした問題を解決した同じく中央集権型のSubversionがCVSの次期候補として注目されていた。
しかし現在のところ、バージョン管理システムは分散型のMercurialとGitに注目が集まっており、実際にOSSプロジェクトが従来のバージョン管理システムからこれら分散型のバージョン管理システムへの移行を進めている。これまでSubversionを使ってきた開発者がGitを使い始め、その利点に驚いたというストーリーがWhy I'm leaving Subversion for Git - Javalobbyで紹介されている。中央集権型のどういった点が使いにくく、分散型のどういった点が扱いやすかったかという点がわかりやすくまとまっている。
| 紹介されているGitが便利なポイント |
|---|
| 使うにあたって必ずしもリモートリポジトリを持っている必要がない。ローカルリポジトリで作業を開始し、それに対してコミットを実施できる。リモートにコミットする必要があるSubversionがとても重く感じられ、Gitはとても素早く感じられる。 |
| 変更した内容はまとめてほかのリポジトリに適用したり、ほかのリポジトリの変更内容をマージすることができる。マージがちゃんと実施されるか懸念していたが正確にうまく機能している。 |
| Gitにはコミットアクセスという概念がない。従来の方式ではメインとなるブランチがあり、そのコピーを各々の開発者が持つことになる。メインブランチへのアクセスは特定の人物に制限されており、権限を持たない開発者はバグシステムにパッチを登録するなりメールでパッチを提供するなどして取り込んでもらう必要がある。コピーされたリポジトリという方式は一貫性を保つのが大変。Gitではこうした問題がない。それぞれが自分のリポジトリを持っており、リポジトリごとにマージが実施される。 |
なお、Subversionを使い続けているOSSプロジェクトもある。移行の手間もそれ相応にものになるため、運用がうまくいっており、CVSやSubversionを使っていて特に問題が発生していない大規模プロジェクトではそのまま従来のバージョン管理システムを使い続けているケースもある。
| GoogleのJavaコレクションを使う理由、Multimapが便利 [2010/1/7] |
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
激シブ!もう一度ゴルフ Ⅱ の魅力を味わってみませんか?【大阪オートメッセ2012】 [03:06 2/11] キャリア |
|
『ヘタリア』キャラソン、新シリーズが配信決定! [03:05 2/11] キャリア |
|
全国の温泉を擬人化したドラマCD、第1弾「草津」は櫻井孝宏さん! [03:05 2/11] キャリア |
|
柿原徹也さんの2ndミニアルバム「CONTINUOUS」2月15日発売 [03:04 2/11] キャリア |
|
アニメ「Fate/Zero」陣営ごとのお守りが発売決定 [03:03 2/11] キャリア |