アプリ・ツール・ユーティリティ - UNIX(FreeBSD)- バージョン管理システム RCS

 
 本項の記述は「Revision Control System RCS」を参考にさせていただきました。ここでは、わたしがよく使う使用方法について述べているだけですので、きちんと学ぼうと思う方は左記のサイトをごらんください。
1. コマンド
2. コミット用ディレクトリについて
3. 指定のリビジョンのファイルを取り出す
4. 指定のリビジョンのファイルを見る
5. 差分を出力する
6. 能書き

1. コマンド

 コマンドは、cicorcsdiff です。
コマンド用途
ci チェックイン
co チェックアウト
rcsdiffリビジョン間の比較を行う
 それぞれのコマンドの使用方法とオプションの主なものは以下の通りです。

> ci [オプション] ファイル名
 ci コマンドを使用したとき、リビジョンへのコメントを求められます。

> ci a.txt
a.txt,v  <--  a.txt
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> ここでコメントを入力し、コメントの末尾に '.' で終了します。
initial revision: 1.1
done
オプション意味
-u チェックイン時にローカルファイルがそのまま残って参照可能となる。

> co [オプション] ファイル名
オプション意味
-r チェックアウト時にファイルをロックする。

> rcsdiff [オプション] ファイル名...
オプション意味
-r リビジョン番号を指定する。

2. コミット用ディレクトリについて

 rcs ではコミットしようとするとき、カレントディレクトリに RCS というディレクトリがないか探します。探してなければ、カレントディレクトリにリビジョンファイルを作成し、あれば RCS ディレクトリにリビジョンファイルを作成します。  /homt/hogehoge/work にいる状態で、a.txt をコミットすると RCS ディレクトリがない場合は

> pwd
/home/hogehoge/work
> ls
a.txt   a.txt,v
 という状態になりますし、RCS というディレクトリをがある場合は

> pwd
/home/hogehoge/work
> tree
.
|-- RCS
|   `-- a.txt,v
`-- a.txt

1 directory, 2 files
 という状態になります。  ディレクトリの中がごちゃごちゃするのが嫌なので、わたしは RCS を使用するディレクトリでは RCS ディレクトリを作成するようにこころがけています。

3. 指定のリビジョンのファイルを取り出す


> co -rリビジョン番号 ファイル名

4. 指定のリビジョンのファイルを見る

 前項の処理を行うと、現在の最新が上書きされます。  オリジナルが見たいときなど、ファイル名を変更したりしちゃ、何のための RCS か、わかんなくなっちゃいますね。  そういうときは

> co -rリビジョン番号 -p ファイル名
 と -p オプションをつけます。  -pprintp だな。

5. 差分を出力する

 現在のリビジョンと直前のリビジョンとの差分を比較するには

> rcsdiff ファイル名
 現在のリビジョンと特定のリビジョンとの差分を比較するには

> rcsdiff -rリビジョン番号 ファイル名
 ちなみ初回にチェックインしたときのリビジョン番号は 1.1 になります。

6. 能書き

 RCS の正式名称は Revision Control System なのでリビジョン管理システムと訳すのが正しいような気がしますが、WikiPedia に「バージョン管理システム」として紹介されているのでそのままにしておきます。  RCS は FreeBSD にデフォルトでインストールされているバージョン(リビジョン)管理システムです。Linux 系にもデフォルトでインストールされているようです。Solaris には残念ながらデフォルトではインストールされていません。  構成ファイルを変更する際、CVS や Subversion のようなバージョン管理サーバを立ち上げなくても、最低限のリソースで利用できます。  例えば /etc/rc.conf を編集する際、いちいち rc.conf.bak のようなファイルを作成しないで、RCS を使用する方をお勧めします。