RCS - 概要・使い方

クラウディア 
1. 概要
2. コマンド
3. コミット用ディレクトリについて
4. 指定のリビジョンのファイルを取り出す
5. 指定のリビジョンのファイルを見る
6. 差分を出力する
7. 履歴を見る
8. 蛇足

1. 概要

 本項の記述は「Revision Control System RCS」を参考にさせていただきました。  ここでは、わたしがよく使う使用方法について述べているだけですので、きちんと学ぼうと思う方は左記のサイトをごらんください。  本ページは、下記のサイトを参考にさせていただきました。
バージョン管理システム RCS 使用法まとめ

2. コマンド

 コマンドは、「ci」「co」「rcsdiff」「rlog」です。
コマンド   用途  
ci チェックイン
co チェックアウト
rcsdiff リビジョン間の比較を行う
rlog 履歴を見る

 それぞれのコマンドの使用方法とオプションの主なものは以下の通りです。


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 リビジョン番号を指定する。


rlog [オプション] ファイル名...

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

 「RCS」ではコミットしようとするとき、ファイルの所属ディレクトリに「RCS」というディレクトリがないか探します。  探して「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」ディレクトリを作成するようにこころがけています。

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


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

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

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

co -rリビジョン番号 -p ファイル名
 と「-p」オプションをつけます。  「-p」は、「print」の「p」だな。

6. 差分を出力する

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

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

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

7. 履歴を見る

 履歴を見るのは。

rlog [オプション] ファイル名...
 なのですが。  参考サイトによれば「履歴のタイムスタンプはデフォルトだと UTC で表示されてしまう」らしく。  「-zLT」というオプションをつけておいた方が、いいらしい。  なんなら、「rlog」は、「rlog -zLT」と「alias」を設定しておくべきとも言っています。

8. 蛇足

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