モジュールの変更に伴なって、 新しいファイルが加えられ、古いファイルが削除されます。 しかし、モジュールの古いバージョンの、 正確なコピーを復元できるようにしておきたいと思うでしょう。
ここでは、モジュールからファイルを削除した後も、 古いバージョンの復元を可能にする手順を説明します:
status
や update
といった
コマンドを使用しても確認できます。
修正を格納せずにファイルを消した場合、
当然ですが以前の状態に復元することはできません。
rm
などを使っても良いでしょう。
ファイルの削除を格納する場合、CVS は、
ファイルがもう無いという事実を記録します。
ファイルが他の枝に存在していても良いし、
後で別のファイルを同じ名前で加えても構いません。
checkout
や update
に指定する
オプション `-r' や `-D' に応じて、
CVS が正しくファイルを作成したり、しなかったりします。
ファイルが削除された事実をリポジトリに伝えます (作業ディレクトリから未削除のファイルは処理されません)。 このコマンドを実行しても、リポジトリのファイルは、 削除が格納されるまで実際には削除されません。 オプション `-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 ファイルの追加や削除もマージできる」参照)。