Subversionの説明の前に、「バージョン管理システム」の説明を。
Excelなどで作成したファイルは自分のパソコンや会社のファイルサーバーに保存すると思います。 その保存したファイルの最終更新者や最終更新日などはファイルのプロパティを見ると分かりますが、厳密に「いつ」、「誰が」、「どの部分を」修正したのかは分かりません。 また、関連性のある他のファイルを同時に修正したとしても(例えば、設計書を修正した場合、それに付帯する見積書や社内稟議書も、一緒に修正すると思います。) 他の人が一緒に直したファイルがどれなのか分かりません。 これらを一元的に管理できるのがバージョン管理システムです。 「いつ」、「誰が」、「どの部分を」修正したのかを管理し、いつでも好きなときに修正前のファイルを取得できます。 プログラマーの方はついついプログラムのソース管理と思いがちな方もいらっしゃると思いますが、社内文章の管理等にも有用ですので、色々と使ってみることをお勧めします。
Subversionは、ファイル(ディレクトリ)を管理するバージョン管理システムです。 Subversionはリポジトリといわれるツリー形式の変更履歴データを使って、バージョン管理を行っています。 リポジトリは全ての変更点(追加、変更、削除)を管理しているので、変更履歴や古いバージョンの取得、復帰などができます。 オリジナルのページはSubversionです。興味のある方や上司から命令された方はご覧ください。
ちなみに)私はリポジトリを「メタデータ(作成者や修正日などのファイルの付帯データ)を含む差分バックアップを時系列に管理しているデータ」と認識しています。
一般的には下記の構成が推奨されています。ただ、これはあくまでも開発者向けですので、社内文章等の管理で使用する場合はこのような構造にする必要はありません。
サブディレクトリ | 管理対象 |
---|---|
trunk | メインとなる開発です。 |
branches | メイン開発から分岐する開発を管理します。 |
tags | もう修正されないbranchesを管理します。 |
Subversionは複数の部品(アプリケーション)で構成されています。それらは以下の通りです。
アプリケーション | 使用端末 | 概要 |
---|---|---|
svn | 主にクライアント | コミット(ファイルの修正済みを申請)やアップデート(サーバーからファイルを取得)など、ローカルファイルの管理、サーバーへのリクエストを行います。 |
svnversion | クライアント | 作業コピーのローカルリビジョンに関して表示します。 |
svnlook | サーバー | サーバー上でリポジトリーに関する情報を表示します。 |
svnadmin | サーバー | svnリポジトリを管理(監視、修復等)するためのサーバー側の管理ツール(コマンド)です。 |
svndumpfilter | サーバー | Subversion のダンプファイルから履歴を削除します。 |
svnserve | サーバー | スタンドアロンのSVNサーバプログラムです。これを使うとリモートアクセスが可能になります。アクセスする場合はsvnプロトコルを使用します。 |
mod_dav_svn | サーバー(Apatch) | Apatch用のモジュールです。SVNサーバーをsvnserveではなくApatchで動作させる為にあります。 使用方法などはapache httpdを使ったsvnサーバーの立て方をご覧ください。 |
COPYRIGHT © 2008 Deepnet Inc. ALL RIGHTS RESERVED.