svn status — 打印工作副本文件和目錄的狀態。
打印工作副本文件和目錄的狀態。如果沒有參數,只會打印本地修改的項目(不會訪問版本庫),使用--show-updates選項,會新增工作修訂版本和伺服器過期訊息。使用--verbose會打印每個項目的完全修訂版本訊息。
輸出的前六列都是一個字元寬,每一列給出了工作副本項目的每一方面的訊息。
第一列指出一個項目的是新增、刪除還是其它的修改。
沒有修改。
預定要新增的項目。
預定要刪除的項目。
項目已經修改了。
項目在工作副本中已經被替換了。這意味著文件預定要刪除,然後有一個同樣名稱的文件要在同一個位置替換它。
項目的內容(相對於屬性)與更新得到的資料衝突了。
項目與外部定義相關。
項目被忽略(例如使用svn:ignore屬性)。
項目不在版本控制之下。
項目已經丟失(例如,你使用svn移動或者刪除了它)。這也說明了一個目錄不是完整的(一個檢出或更新中斷)。
項目作為一種對像(文件、目錄或鏈接)納入版本控制,但是已經被另一種對像替代。
第二列告訴一個文件或目錄的屬性的狀態。
沒有修改。
這個項目的屬性已經修改。
這個項目的屬性與從版本庫得到的更新有衝突。
第三列只在工作副本鎖定時才會出現。(見「有時你只需要清理」一節。)
項目沒有鎖定。
項目已經鎖定。
第四列只在預定包含歷史新增的項目出現。
沒有歷史預定要提交。
歷史預定要伴隨提交。
第五列只在項目跳轉到相對於它的父目錄時出現(見「使用分支」一節)。
項目是它的父目錄的孩子。
項目已經轉換。
第六列顯示鎖定訊息。
當使用--show-updates,文件沒有鎖定。如果不使用--show-updates,這意味著文件在工作副本被鎖定。
文件鎖定在工作副本。
文件被另一個工作副本的另一個用戶鎖定,只有在使用--show-updates時顯示。
文件鎖定在工作副本,但是鎖定被「竊取」而不可用。文件當前鎖定在版本庫,只有在使用--show-updates時顯示。
文件鎖定在工作副本,但是鎖定被「破壞」而不可用。文件當前鎖定在版本庫,只有在使用--show-updates時顯示。
過期訊息出現在第七列(只在使用--show-updates選項時出現)。
這個項目在工作副本是最新的。
在伺服器這個項目有了新的修訂版本。
餘下的字段是可變得寬度且使用空格分隔,如果使用--show-updates或--verbose選項,工作修訂版本是下一個字段。
如果傳遞--verbose選項,最後提交的修訂版本和最後的提交作者會在後面顯示。
工作副本路徑永遠是最後一個字段,所以它可以包括空格。
--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的更多例子可以見「查看你的修改概況」一節。