次へ: バージョン管理の概念, 前へ: 解決する問題の理解, 上へ: バージョン管理入門
[目次][索引]
30.1.1.2 対応しているバージョン管理システム ¶
VCは現在、多くの異なるバージョン管理システムに対応しており、それらをバックエンドと呼んでいます:
- Gitは、もともとLinus
TorvaldsがLinux(自身のカーネル)の開発を支援するために考案した分散型バージョン管理システムです。VCは一般的なGit操作をすべてサポートしていますが、特筆すべき点として、コミットメッセージの編集以外のGitリベースはコマンドラインから行う必要があります。
-
CVSは、2008年頃まで大多数のフリーソフトウェアプロジェクトで利用されていた無料のバージョン管理システムです。それ以降、より新しいシステムに取って代わられました。CVSでは、ローカルまたはネットワーク経由で、複数ユーザーによる並行開発が可能です。新しいシステムとは異なり、アトミックコミットやファイルの移動・名称変更には対応していません。VCは、CVSにおけるすべての基本的な編集操作をサポートしています。
- Subversion (svn) は、CVS
と同様でありながらその問題点を解消した無料のバージョン管理システムです(例:ファイルセットのアトミックなコミットや、ディレクトリ、シンボリックリンク、メタデータ、名前変更、コピー、削除のバージョン管理をサポートしています)。
-
SCCSは史上初のバージョン管理システムであり、かなり前に、より高度なシステムに取って代わられました。VCは、SCCSに欠けていた特定の機能(リリースのタグ名など)を独自に実装することで補っています。複数のブランチといったその他のVC機能は、単純に利用できません。SCCSは非フリーであるため、使用を避けることを推奨します。
-
CSSCはSCCSの無料の代替ツールです。何らかの理由で、より新しく設計の優れたバージョン管理システムを利用できない場合にのみ、CSSCを使用してください。
-
RCSは、VCが当初基盤として構築された無料のバージョン管理システムです。比較的原始的な仕組みであり、ネットワーク経由では利用できず、個々のファイル単位で動作します。RCSでできることのほぼすべては、VCを通じて行うことができます。
- Mercurial (hg) は、Git に概ね似た分散型バージョン管理システムです。VC
はほとんどの Mercurial コマンドをサポートしています。
- Bazaar (bzr)
は、リポジトリベースと分散型の両方のバージョン管理をサポートする分散型バージョン管理システムです。VC は Bazaar
におけるほとんどの基本的な編集操作をサポートしています。
- SRC (src) は RCS
を再実装したもので、1人のみで作業する単一ファイルのプロジェクト向けに設計された特化型のバージョン管理システムです。1つのディレクトリ内に、独立したバージョン管理履歴を持つ複数のファイルを共存させることができるため、小規模なドキュメントやスクリプト、ドットファイルの管理に特に適しています。リビジョンの保存には
RCS を使用していますが、ロックレス操作や整数の連番リビジョン番号を備えたモダンなユーザーインターフェースを提供しています。VC はほぼすべての
SRC 操作をサポートしています。