名稱

svn status — 打印工作副本文件和目錄的狀態。

概要

svn status [PATH...]

描述

打印工作副本文件和目錄的狀態。如果沒有參數,只會打印本地修改的項目(不會訪問版本庫),使用--show-updates選項,會新增工作修訂版本和伺服器過期訊息。使用--verbose會打印每個項目的完全修訂版本訊息。

輸出的前六列都是一個字元寬,每一列給出了工作副本項目的每一方面的訊息。

第一列指出一個項目的是新增、刪除還是其它的修改。

' '

沒有修改。

'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時顯示。

過期訊息出現在第七列(只在使用--show-updates選項時出現)。

' '

這個項目在工作副本是最新的。

'*'

在伺服器這個項目有了新的修訂版本。

餘下的字段是可變得寬度且使用空格分隔,如果使用--show-updates--verbose選項,工作修訂版本是下一個字段。

如果傳遞--verbose選項,最後提交的修訂版本和最後的提交作者會在後面顯示。

工作副本路徑永遠是最後一個字段,所以它可以包括空格。

別名

stat, st

改變

無2

是否訪問版本庫

只有使用--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不會導致狀態列表反映項目的版本庫版本(儘管你可以通過--verbose選項查看版本庫的修訂版本號)。

最後,是你能從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的更多例子可以見「查看你的修改概況」一節