[RCS超入門] [RCS初級講座] [RCS中級講座] [RCSエラー対処] [RCS-SCCS対応表] [リンク集]
当文書の著作権は東芝グループ、富士通グループ構成各社の いずれにも帰属しません。
$Id: rcs.html,v 3.9 2016-07-02 11:12:44+09 kabe Exp $
(このサイクルから外れると小技裏技で修正する必要が出てくる)
↓ 登録する ↓ →→→+ <<< 普段はここ。ファイルは書込不可 ↑ ↓ ↑ ロックをかける (編集可能になる) ↑ ↓ ↑ お好みのエディタで編集する ↑ ↓ ↑ 登録してロックを解除する (編集不可になる) ↑ ↓ ←←←
% mkdir RCS
# $Id$ /* $Id$ */ // $Id$ static char *rcsid = "$Id$";
初めてのファイルでは、そのファイル自体に関する簡単な説明を要求されますので
入れておきましょう。
エラーじゃないです。
思いつかなければ空でも良い。
最後は".
<CR>"。
$Id$の部分はRCSによって置換されて
/* $Id: foo,v 1.1 1996/11/28 13:14:43 kabe Exp$ */
といった形になり、さらに書き込み権限が落ちます。
% co -l filename
で書き込み権限がつくので、お好みのエディタで編集します。
% rcsdiff filename
% ci -u filename
で変更を登録します。「コメントを入れろ」と要求されるので、
手短に変更点を説明して".
<CR>"と打ちましょう。
ということが rcsintro(1) に書かれています。 附属のマニュアルは割に詳しいのでちゃんと読もう。
これだけだと、裏で何が行なわれるのかが前もってわからないので 不安になりますが、 新しく生成されるファイルは RCS/filename,v だけです。 他には何もつくられません。単純。
./RCS/filename,v
ファイルを消します。
filename,v
というファイルを消します。
./RCS/
が空であれば、ディレクトリごと消してかまいません。
普通は ./RCS/
ディレクトリを掘りますし、
やめたくなった時はそこのファイル全部やめる、でしょうから、
rm -fr ./RCS だけで十分でしょう。
co -l
, ci -u
だけを
知っていれば使えます。
% co -l filename
co
: Check Out, -l: Lock)% ci -u filename
ci
: Check In, -u: Unlock)ci -u
としたファイルはすべてのWrite permissionが
落ちるので、
あせって chmod
しないように 。
編集したいときは co -l
します。
ファイルがすでに編集されていれば、Revision番号がつけかわり、 変更点のコメントを要求されます。後々のためにも どこをなぜ変更したか、をこれで記録しておくと良いでしょう。
% co filename
% ci filename
「ファイルがなくなったです〜(;_;)」
単に ci filename とすると
ファイルがカレントディレクトリから消えてしまいます。
そうなったら
あわてずに co
だけを実行
しましょう。オプションなしの co
は
「閲覧用に取り出す」という意味で、端的には
書き込み権限がつきません。(-r--r--r--
)
ci -u filename
は ci filename; co filename
と同じになります。
目先の利益:誤って rm * とかしても RCS管理下にしておけば co で復活できるので、 一人だけで使っていてもRCSを使う価値はあります。 (さすがに rm -fr * では全滅する。バックアップはちゃんととりましょう;_;)
長期的利益:新版の登録毎にコメントを要求されるので、 必然的に修正に関する説明をひねりだす必要性が出てきます。 漠然と修正するのではなく、履歴で説明できるような目的意識をもって 修正を行なうようになるという教育的効果もあるかもしれません。 (毎回 .<CR> で済ませている人は、 3ヶ月後には後悔すると思いますよ〜)
実際上は更新履歴を見て悦に入ったり感心したりのほうが多いと思いますが
ですからこの一連のRCS入門だけはSCCSで管理しようと思ったんですが JISコードに含まれる"%"に反応してしまうんでダメでした(;_;)
もっともRCSでも 「ど笋」「つ癆紊」「と縺粤鮑」 には反応するんで (それぞれ "$Id$" "$Date$" "$Header:") 油断できません。
さいわい、HTMLでは "$" のかわりに "$" と書いて回避することが できます。これに気づいてから (遅いぞ) このRCS入門もめでたく RCS管理下に入れることができました。
それでも上の「ど笋」までは気づかず、超 はまりました。 さてどうやって回避してるんでしょう
素の RCS は、基本的に単一のファイルを管理するように作られているので、
/etc/
にある大量のファイルのうち、1つだけ
逆にきわめて不向きなのが、複数のファイルが組になっているような
RCSが想定している「一人が編集、みんなで閲覧」も、 素の RCS ではめんどくさいため 現実的ではありません。 素直に CVS などのもっと高級なツールをかぶせましょう。 Emacsなら VC てのも あるらしいですぞ。
RCSは複数ファイルの扱いが苦手なので、RCSばっかり使っていると、 複数ファイルに分けたほうが楽なようなプログラムも、 無意識のうちに管理がめんどくさそうだと一本にまとめたがる ようになります(それ俺)。 なので、自分でこのことに気づいたらさっさとCVSなりに ステップアップしましょう。(<おまえがさきにやれ)