本手册编写时针对的是 Subversion 1.1 版本。如果您正在运行更新版本的 Subversion,我们强烈建议您访问 https://svnbooks.subversion.org.cn/ 并查阅适合您 Subversion 版本的版本手册。
svn status — 打印工作副本文件和目录的状态。
打印工作副本文件和目录的状态。不带参数时,仅打印本地修改的项目(不访问仓库)。使用--show-updates,添加工作副本版本和服务器过期信息。使用--verbose,打印每个项目的完整版本信息。
输出中的前五列每列宽一个字符,每列提供有关每个工作副本项目的不同方面的信息。
第一列指示项目是添加、删除还是其他方式改变。
无修改。
项目已计划添加。
项目已计划删除。
项目已修改。
项目已在您的工作副本中被替换。
项目与从仓库接收的更新冲突。
项目与外部定义相关。
项目被忽略(例如,使用svn:ignore属性)。
项目不在版本控制之下。
项目丢失(例如,您在没有使用 svn 的情况下移动或删除了它)。这也指示目录不完整(签出或更新被中断)。
项目被版本化为一种类型的对象(文件、目录、链接),但已被不同类型的对象替换。
第二列指示文件或目录属性的状态。
无修改。
此项目的属性已修改。
此项目的属性与从仓库接收的属性更新冲突。
第三列仅在工作副本目录被锁定时填充。
项目未锁定。
项目已锁定。
第四列仅在项目已计划进行带有历史记录的添加时填充。
未计划在提交时使用历史记录。
已计划在提交时使用历史记录。
第五列仅在项目相对于其父级被切换时填充(参见 名为“切换工作副本”的部分)。
项目是其父级目录的子目录。
项目已切换。
过期信息出现在第八列(仅在您传递--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
这是找出您对工作副本所做的更改的最简单方法
$ 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不会导致 状态列表反映仓库中的项目版本。
最后,您可以从状态子命令中获得最多的信息
$ 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”的部分。