次: , 上: Multiple developers


10.1 ファイル状態

取り出した後にあなたが加えた操作や、 他の人物がリポジトリに加えた操作によって、 ファイルを幾つかの状態に分類します。 status コマンドによって報告される状態を以下に挙げます:

Up-to-date
このファイルが、 使用している枝の最新リビジョンと同じであることを示します。
Locally Modified
このファイルを修正したが、まだ変更内容を格納してないことを示します。
Locally Added
add コマンドによりファイルを加えたが、 まだその内容を格納してないことを示します。
Locally Removed
remove コマンドによりファイルを削除したが、 まだその変更を格納してないことを示します。
Needs Checkout
他の人物が新しいリビジョンをリポジトリに格納したことを示します。 この表示は少し紛らわしいのですが、 新しいリビジョンを取り出す際には、checkout ではなく、 update を使用するのが普通です。
Needs Patch
Needs Checkout と似たようなものですが、 cvs のサーバは、ファイル全てではなく差分を送ります。 差分を送る場合も、ファイル全てを送る場合と結果は同じです。
Needs Merge
他の人物が新しいリビジョンをリポジトリに格納したが、 作業ファイルも修正されていたため、マージする必要があることを示します。
File had conflicts on merge
Locally Modified と似ていますが、先の update コマンドの結果、 変更点の衝突が発見されたことを示します。 衝突を解消する方法は Conflicts example 参照。
Unknown
このファイルについて cvs が何も知らないことを示します。 例えば新たなファイルを作成したが、add を実行していない場合などです。

status は、ファイル状態を分類する際の補助として、 作業中のファイルの由来となるリビジョン を示す `Working revision' と、 使用中の枝のリポジトリにおける最新リビジョン を示す `Repository revision' とも報告します。

status コマンドのオプションについての情報は、Invoking CVS 参照。 `Sticky tag' と `Sticky date' についての 情報は、Sticky tags 参照。 `Sticky options' の情報は、update options の `-k' オプションを参照して下さい。

statusupdate コマンドは補完するようなものとして考え ることができます。ファイルを最新にするためには update を使い、 statusupdate が何をするかをある程度知ることができま す (もちろん、リポジトリの状態は実際に update を実行するまでに 変化するかもしれません)。実際は、status コマンドで表示されるよ り短い形式でコマンドに表示させたければ、次を実行することができます

     $ cvs -n -q update

`-n' オプションは実際に update をしないが、状態を表示するだけであ る、ということです。`-q' オプションはそれぞれのディレクトリ名の印 字を避けます。update コマンドとこれらのオプションの情報は、 Invoking CVS を参照してください。