RCSってなに
- Revision Control System
- いわゆる差分/バージョン管理
- 今流行りのgitみたいなやつ
そもそも
- 初期のバージョン管理システム
- RCS自体は大分古い
- CVSのリポジトリは未だにRCS
特徴
- 1度に1つのファイル操作
- 複数ユーザの同時利用は想定外
- シンプル
使い方
- 基本的にciとcoコマンドを使う
- ci : チェックイン(要はcommit)
- co : チェックアウト(要はpush)
- rcsdiff : diff
- リビジョン管理したいファイルを登録する(ci -i)
- ファイルをロックして他の人が変更できないようにしてから編集する(co -l)
- 編集が終わったらアンロックする(ci -u)
- 2へ戻る
例
$ mkdir RCS
$ ci -i index.html # リビジョン管理対象に登録
RCS/index.html,v <-- index.html
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> initial
>> .
initial revision: 1.1
done
$ ls
RCS
$ co -l index.html # ファイルのロック(他の人は編集不可
RCS/index.html,v --> index.html
revision 1.1 (locked)
done
$ ls
RCS index.html
$ echo "hoge" > index.html # 何かしら編集する
$ ci -u index.html # 編集終わったのでアンロックする
RCS/index.html,v <-- index.html
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single '.' or end of file:
>> add "hoge" # いわゆるコミットメッセージ
>> .
done
$ rcsdiff index.html # 最新版との差分を見る
===================================================================
RCS file: RCS/index.html,v
retrieving revision 1.2
diff -r1.2 index.html
$ rcsdiff -r1.1 index.html # 特定のバージョンとの差分を見る(今回は1.1)
===================================================================
RCS file: RCS/index.html,v
retrieving revision 1.1
diff -r1.1 index.html
0a1
> hoge # 変更が加えられている
メリット
- シンプル -> 学習コスト低い
- コンフィグの差分管理とかにはこれで十分
- 複数人で"同時に/並列して"編集することがない
とにかくシンプルですぐ使い始められるのが大きなメリットに感じます。