rch850 の上澄み

技術的な話題とか、雑談とか。タイトルを上澄みに変えました @ 2020/09/02

Google Code のバージョン管理システムガイドライン

なんとなく読んでた Google Code のバージョン管理システムガイドライン に、集中型と分散型のバージョン管理システムの違いが簡潔に書かれていたので、和訳してみました。言ってることは至極当然のことですね。

Subversion

Subversion は有名な集中型 VCS で、一般的なオープンソースプロジェクトで用いられています。

  • Subversion を使う最大の利点は、大部分の開発者が慣れているため、新たな VCS を習得すること無くプロジェクトに参加できるようになることです。
  • Subversion は大規模なプロジェクトにスケールすることも可能ですが、中小規模のプロジェクトの方が向いています。
  • Subversion はひとまとまりのチームとして開発するようなケースに向いています。分散型バージョン管理システム(DVCS)とは異なり、オフライン中のチェックインは不可能です。

Mercurial

Mercurial は Git や Bazzar のような DVCS で、オフラインでの作業や、ピアツーピアのコードの pushing/pulling などの複雑な作業を行うことができます。

  • Mercurial を使うことで、チーム外の開発者が開発に参加しやすくなります。
  • Mercurlal ではブランチやタグの操作が簡単なため、複数の開発者や外部の開発者が共同作業しやすくなります。小規模なプロジェクトでは、オフラインでの作業ぐらいしかメリットが無いでしょう。