VCのスナップショット機能は、RCSの名前付きコンフィギュレーションサポート (named-configuration support)をモデルにしています。 RCS固有の機能を使っているため、RCSを使って作ったVCのスナップショット は、VCを使わなくても見えます。
SCCSでは、VC自身でスナップショット機能を実装しています。 VCが使うファイルには、名前/ファイル/版番号の3つ組みが含まれます。 これらのスナップショットは、VCを使ったときだけ見えます。
スナップショットはチェックインした版の集合です。 ですから、スナップショットを作るときには、 すべてのファイルをチェックインしてあり、 しかもロックしていないことを確認してください。
ファイルを改名したり削除すると、スナップショットに問題を生じます。 これはVCに固有の問題ではなく、版管理システムに一般的な設計上の問題で、 まだ誰も満足ゆく解決をできていません。
登録されたファイルを改名するなら、
そのマスタファイルも一緒に改名する必要があります
(コマンドvc-rename-file
は自動的にこれを行う)。
SCCSを使っているならば、ファイル名を新しい名前にして
スナップショットの記録も更新する必要があります
(vc-rename-file
はこれも行う)。
記録された名前ではもはや存在しないマスタファイルを参照する
古いスナップショットは無効です。
VCは(古い名前では)取り出せません。
スナップショットを手で更新する方法を説明するために
RCSやSCCSを詳しく説明することは、本書の範囲を越えています。
vc-rename-file
を使えば、
取り出し操作に使える程度にはスナップショットを保てますが、
すべての問題を解決できるわけではありません。
たとえば、プログラムのいくつかのファイルでは、
名前で他のファイルを参照しているでしょう。
少なくとも、makefileでは、改名したファイルを指しているでしょう。
古いスナップショットを取り出すと、
改名したファイルは新しい名前で取り出しますが、
makefileで使っている名前ではありません。
ですから、取り出しただけではプログラムは動かないでしょう。