本手册旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的手册。
svn status (stat, st) — 打印工作副本文件和目录的状态。
打印工作副本文件和目录的状态。不带参数时,它只打印本地修改的项目(不访问仓库)。使用 --show-updates
(-u
) 时,它会添加工作副本版本和服务器过期信息。使用 --verbose
(-v
) 时,它会打印每个项目的完整版本信息。使用 --quiet
(-q
) 时,它只打印本地修改项目的摘要信息。
输出中的前七列每列宽一个字符,每列提供有关工作副本项目不同方面的信息。
第一列表示项目已添加、删除或以其他方式更改
' '
无修改。
'A'
项目已计划添加。
'D'
项目已计划删除。
'M'
项目已修改。
'R'
项目已在您的工作副本中被替换。这意味着该文件已计划删除,然后一个具有相同名称的新文件已计划在其位置添加。
'C'
项目的內容(与属性相反)与从仓库接收的更新冲突。
'X'
项目存在是因为外部定义。
'I'
项目被忽略(例如,使用 svn:ignore
属性)。
'?'
项目不在版本控制之下。
'!'
项目丢失(例如,您在没有使用 svn 的情况下移动或删除了它)。这也表示目录不完整(检出或更新已中断)。
'~'
项目被版本化为一种对象类型(文件、目录、链接),但已被另一种对象类型替换。
第二列显示文件或目录属性的状态
' '
无修改。
'M'
此项目的属性已修改。
'C'
此项目的属性与从仓库接收的属性更新冲突。
第三列仅在工作副本目录被锁定时填充(参见 名为“有时您只需要清理”的部分)。
' '
项目未锁定。
'L'
项目已锁定。
第四列仅在项目被安排为带历史记录的添加时填充。
' '
提交时未安排历史记录。
'+'
提交时安排历史记录。
第五列仅在项目相对于其父级被切换时填充(参见 名为“遍历分支”的部分)。
' '
项目是其父目录的子项。
'S'
项目已切换。
第六列填充锁定信息。
' '
当使用 --show-updates
(-u
) 时,这意味着文件未锁定。如果 --show-updates
(-u
) 未 使用,这仅仅意味着该文件在此工作副本中未锁定。
'K'
文件在此工作副本中已锁定。
'O'
文件被其他用户或其他工作副本锁定。这仅在使用 --show-updates
(-u
) 时出现。
'T'
文件在此工作副本中被锁定,但锁定已被 “窃取” 且无效。该文件当前在存储库中被锁定。这仅在使用 --show-updates
(-u
) 时出现。
'B'
文件在此工作副本中被锁定,但锁定已被 “破坏” 且无效。该文件不再被锁定。这仅在使用 --show-updates
(-u
) 时出现。
第七列仅在项目是树冲突的受害者时填充。
' '
项目不是树冲突的受害者。
'C'
项目是树冲突的受害者。
第八列始终为空。
过时信息出现在第九列(仅当您传递 --show-updates
(-u
) 选项时)。
' '
您工作副本中的项目是最新的。
'*'
服务器上存在该项目的更新版本。
其余字段是可变宽度,并用空格分隔。如果传递了 --show-updates
(-u
) 或 --verbose
(-v
) 选项,则工作修订版是下一个字段。
如果传递了 --verbose
(-v
) 选项,则接下来会显示最后提交的版本和最后提交的作者。
工作副本路径始终是最后一个字段,因此它可以包含空格。
这是找出您对工作副本所做更改的最简单方法
$ svn status wc M wc/bar.c A + wc/qax.c
如果您想找出工作副本中哪些文件已过期,请传递 --show-updates
(-u
) 选项(这 不会 对您的工作副本进行任何更改)。在这里您可以看到 wc/foo.c
自上次更新工作副本以来已在存储库中发生更改
$ svn status -u wc M 965 wc/bar.c * 965 wc/foo.c A + 965 wc/qax.c Status against revision: 981
![]() |
注意 |
---|---|
|
您可以从状态子命令中获得的最多的信息如下
$ svn status -u -v 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 Status against revision: 981
最后,您可以使用 --xml
选项以 XML 格式获取 svn status 输出
$ svn status --xml wc <?xml version="1.0"?> <status> <target path="wc"> <entry path="qax.c"> <wc-status props="none" item="added" revision="0"> </wc-status> </entry> <entry path="bar.c"> <wc-status props="normal" item="modified" revision="965"> <commit revision="965"> <author>sally</author> <date>2008-05-28T06:35:53.048870Z</date> </commit> </wc-status> </entry> </target> </status>
有关 svn status 的更多示例,请参阅 名为“查看更改概述”的部分。