名前

svn status — 作業コピーにあるファイルやディレクトリの状態を表示しす。

用法

svn status [PATH...]

説明

作業コピーにあるファイルやディレクトリの状態を表示します。 引数がない場合は、ローカルで修正されたアイテムだけが表示されます(リポジトリに 対するアクセスは発生しません --show-updatesを使うと、作業リビジョンと、 サーバの最新ではない情報も追加されます。 --verboseを使うと、すべてのアイテムに対する 完全なリビジョン情報を表示します。

出力の最初の6列のコラムはそれぞれ一文字幅で、作業コピーアイテムごとに いろいろな情報を表示します。

最初のコラムは、アイテムが追加、削除、それ以外の変更、のどの状態かを を示します。

' '

変更はありません。

'A'

アイテムは追加予告されています。

'D'

アイテムは削除予告されています。

'M'

アイテムは修正されました。

'R'

アイテムは作業コピー中で置き換えられました。

'C'

(属性ではなく)アイテムの内容はリポジトリから 受け取った更新によって衝突した状態にあります。

'X'

アイテムは何かの外部定義に関係しています。

'I'

アイテムは無視されている属性です (たとえば、 svn:ignoreのような)

'?'

アイテムはバージョン管理下にありません。

'!'

アイテムは失われました(これはたとえば、 svnを使わずにファイルを削除したり移動した場合に 起こります)。また、これはディレクトリが不完全であることを示しています (チェックアウトや更新が中断された、など)。

'‾'

アイテムはある種類のオブジェクト (ファイル、ディレクトリ、リンク)としてバージョン管理されていますが、 別の種類のオブジェクトで置き換えられてしまいました。

二番目のコラムはファイルやディレクトリの 属性の状態を示します。

' '

修正はありません。

'M'

このアイテムの属性は修正されました。

'C'

このアイテムの属性はリポジトリから受け取った属性更新によって 衝突した状態にあります。

三番目のコラムは作業コピーがロックされている場合にだけ使われます。

' '

アイテムはロックされていません。

'L'

アイテムはロックされています。

四番目のコラムはアイテムが追加予告されている場合にのみ 使われます。

' '

コミット待ちの予告はありません。

'+'

コミット待ちの予告があります。

五番目のコラムはアイテムが親に対して相対的に切り替えられた ときにだけ使われます。 (作業コピーの切り替え項を見てください)。

' '

アイテムは親ディレクトリの子供です。

'S'

アイテムは切り替わっています。

六番目のコラムにはロック情報が表示されます。

' '

--show-updatesが指定された場合ファイルはロックされて いません。--show-updatesが指定 されない 場合、これは単にこの作業コピー中でファイルがロックされていないことを示すだけです。

K

ファイルはこの作業コピー中でロックされています。

O

ファイルは他のユーザあるいは他の作業コピーによってロックされています。 これは--show-updatesが指定された場合にだけ現れます。

T

ファイルはこの作業コピー中でロックされていましたが、それは 「横取りされ」、無効となりました。このファイルは現在 リポジトリ中でロックされています。これは --show-updates が指定された時だけ現れます。

B

ファイルはこの作業コピーでロックされていましたが、それは 「破壊され」て無効となりました。このファイルはもうロック状態には ありません。--show-updatesが指定された時だけ現れます。

最新状態に関係した情報が7番目のコラムに表示されます (--show-updates スイッチを渡した場合)。

' '

作業コピーのアイテムは最新です。

'*'

サーバにはアイテムのもっと新しいバージョンが 存在します。

残りのフィールドは空白で区切られた可変長です。 --show-updates--verbose を指定した場合は作業リビジョンが次のフィールドになります。

--verbose スイッチを指定すると最後のコミットリビジョン とそれをした人が次に表示されます。

作業コピーのパスは常に最後のフィールドになるので、空白を含むことが できます。

別名

stat, st

変更対象

なし

リポジトリへのアクセス

--show-updatesが指定された場合に のみ発生する

スイッチ

--show-updates (-u)
--verbose (-v)
--non-recursive (-N)
--quiet (-q)
--no-ignore
--username USER
--password PASS
--no-auth-cache
--non-interactive
--config-dir DIR
--ignore-externals

作業コピーにした変更点を調べるための一番簡単な方法:

$ svn status wc
 M     wc/bar.c
A  +   wc/qax.c

作業コピー中、どのファイルが最新でないかを知りたい場合 は--show-updates スイッチを指定してください(これは 作業コピーの内容を決して変更しません)。 最後に自分の作業コピーを更新してからリポジトリのwc/foo.c に変更があったときには 次のようになります:

$ svn status --show-updates wc
 M           965    wc/bar.c
       *     965    wc/foo.c
A  +         965    wc/qax.c
Status against revision:    981

注意

--show-updatesは、 最新ではないアイテムの隣にアスタリスクを置くだけ です(つまり、svn updateを実行したとすればリポジトリから の情報で更新されるであろうアイテムの前にのみ、という意味です)。 --show-updates は、アイテムのリポジトリバージョンを反映 した状態一覧を表示するわけではありません

最後に、statusサブコマンドで一番たくさんの情報を得るには:

$ svn status --show-updates --verbose wc
 M           965       938 sally        wc/bar.c
       *     965       922 harry        wc/foo.c
A  +         965       687 harry        wc/qax.c
             965       687 harry        wc/zig.c
Head revision:   981

svn status のもっとたくさんの例は svn statusにあります。