最初, 戻る, 進む, 最後, 目次 に行く。


11 モジュールからファイルを削除する

モジュールの変更に伴なって、 新しいファイルが加えられ、古いファイルが削除されます。 しかし、モジュールの古いバージョンの、 正確なコピーを復元できるようにしておきたいと思うでしょう。

ここでは、モジュールからファイルを削除した後も、 古いバージョンの復元を可能にする手順を説明します:

ファイルの削除を格納する場合、CVS は、 ファイルがもう無いという事実を記録します。 ファイルが他の枝に存在していても良いし、 後で別のファイルを同じ名前で加えても構いません。 checkoutupdate に指定する オプション `-r'`-D' に応じて、 CVS が正しくファイルを作成したり、しなかったりします。

Command: cvs remove [-lR] files ...

ファイルが削除された事実をリポジトリに伝えます (作業ディレクトリから未削除のファイルは処理されません)。 このコマンドを実行しても、リポジトリのファイルは、 削除が格納されるまで実際には削除されません。 オプション `-R' (既定値) を指定した場合、 サブディレクトリまで再帰的に処理されますが、 `-l' を指定した場合は再帰的に処理されません。

以下に、幾つかファイルを削除する例を挙げます:

$ cd test
$ rm ?.c
$ cvs remove
cvs remove: Removing .
cvs remove: scheduling a.c for removal
cvs remove: scheduling b.c for removal
cvs remove: use 'cvs commit' to remove these files permanently
$ cvs ci -m "Removed unneeded files"
cvs commit: Examining .
cvs commit: Committing .

格納前に気が変わったのなら、add コマンドを用いて、 簡単にファイルを復活させることができます。

$ ls
CVS   ja.h  oj.c
$ rm oj.c
$ cvs remove oj.c
cvs remove: scheduling oj.c for removal
cvs remove: use 'cvs commit' to remove this file permanently
$ cvs add oj.c
U oj.c
cvs add: oj.c, version 1.1.1.1, resurrected

remove コマンドを実行する前に失敗に気付いた場合、 update コマンドを用いてファイルを復活できます:

$ rm oj.c
$ cvs update oj.c
cvs update: warning: oj.c was lost
U oj.c

削除したファイルは、作業中の枝だけから削除されます (「7 枝」参照)。 他の枝からも削除したい場合は、後でマージすることができます (「8.4 ファイルの追加や削除もマージできる」参照)。


最初, 戻る, 進む, 最後, 目次 に行く。