目次
この章は Subversion book にある同章をわずかに変更したものです。Subversion book のオンライン版は、 http://svnbook.red-bean.com/ から読むことができます。
この章では短く簡単に Subversion の入門の説明します。バージョン管理システムが初めてならば、この章を読めばわかるでしょう。一般的なバージョン管理の概念から始めて、 Subversion の根底にある考え方を説明し、 Subversion の使い方の簡単な例を紹介します。
この章ではプログラムソースコードの共有を例として示していますが、 Subversion はどんなファイルでも扱えるということに留意してください。プログラマーを助けるためだけのものではありません。
Subversion は情報共有の一元管理システムです。この核となるのがデータを格納する リポジトリ です。リポジトリは情報を ファイルシステムツリー (簡単にいえばファイルやディレクトリの階層)の形で格納します。複数の クライアント がリポジトリに接続し、そのファイルを読み書きします。データを書き込むと他の人が情報を使用できるようになりますし、データを読み込むと他の人の情報をクライアントが受信します。
このどこが画期的なのでしょうか。普通のファイルサーバーと同じようにもみえます。確かにリポジトリ も ファイルサーバーの一種ですが、ふだん見かけるものとは違います。 Subversion のリポジトリが特別なのは、そこに書き込まれた すべての変更を記憶している ことです。すべてのファイルに対するすべての変更、さらにディレクトリツリー自体に対して行われた変更、たとえばファイルやディレクトリの追加、削除、再配置、などを記憶しています。
クライアントがリポジトリからデータを読み出すときには、普通はファイルシステムツリーの最新のバージョンだけが見えます。しかし、ファイルシステムの 以前の 状態も見ることができます。たとえばクライアントは、「先週の水曜日にこのディレクトリには何が入っていたのか?」、とか「最後にこのファイルを変更したのは誰で、その人は何を変更したのか?」 といった履歴に関する調査をすることができます。これらはあらゆる バージョン管理システム の核心になる関わる問いです。つまりバージョン管理システムは時間と共に、データを記録し変更内容を追跡するように設計されているのです。