svn status 状态详解

status (stat, st): 显示工作副本中目录与文件的状态。

用法: status [PATH...]

未指定参数时,只显示本地修改的条目(没有网络访问)。
使用 -q 时,只显示本地修改条目的摘要信息。
使用 -u 时,增加工作版本和服务器上版本过期信息。
使用 -v 时,显示每个条目的完整版本信息。

输出的前七栏各占一个字符宽度。

每一栏的含义

  1. 第一栏: 表示一个项目是增加、删除,还是修改

    “ ” 无修改
    “A” 增加
    “C” 冲突
    “D” 删除
    “I” 忽略
    “M” 改变
    “R” 替换
    “X” 未纳入版本控制的目录,被外部引用的目录所创建
    “?” 未纳入版本控制
    “!” 该项目已遗失(被非 svn 命令删除)或不完整
    “~” 版本控制下的项目与其它类型的项目重名
  2. 第二栏: 显示目录或文件的属性状态

    “ ” 无修改
    “C” 冲突
    “M” 改变
  1. 第三栏: 工作副本目录是否被锁定

    “ ” 未锁定
    “L” 锁定
  2. 第四栏: 已调度的提交是否包含副本历史

    “ ” 没有历史
    “+” 包含历史
  3. 第五栏: 该条目相对其父目录是否已切换,或者是外部引用的文件

    “ ” 正常
    “S” 已切换
    “X” 被外部引用创建的文件
  4. 第六栏: 版本库锁定标记

    • (没有 -u)

      > “ ” 没有锁定标记
      > “K” 存在锁定标记
    • (使用 -u)

      > “ ” 没有在版本库中锁定,没有锁定标记
      > “K” 在版本库中被锁定,存在锁定标记
      > “O” 在版本库中被锁定,锁定标记在一些其他工作副本中
      > “T” 在版本库中被锁定,存在锁定标记但已被窃取
      > “B” 没有在版本库中被锁定,存在锁定标记但已被破坏
  5. 第七栏: 项目冲突标记

    “ ” 正常
    “C” 树冲突

    如果项目包含于树冲突之中,在项目状态行后会附加行,说明冲突的种类。

  6. 是否过期的信息出现的位置是第九栏(与 -u 并用时):

    “*” 服务器上有更新版本
    “ ” 工作副本是最新版的
  7. 剩余的栏位皆为变动宽度,并以空白隔开:

    工作版本号(使用 -u 或 -v 时)
    最后提交的版本与最后提交的作者(使用 -v 时)
    工作副本路径总是最后一栏,所以它可以包含空白字符。

范例输出:

    svn status wc
     M     wc/bar.c
    A  +   wc/qax.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 --show-updates --verbose wc
     M           965       938 kfogel       wc/bar.c
           *     965       922 sussman      wc/foo.c
    A  +         965       687 joe          wc/qax.c
                 965       687 joe          wc/zig.c
    Status against revision:   981

    svn status
     M      wc/bar.c
    !     C wc/qaz.c
          >   local missing, incoming edit upon update
    D       wc/qax.c

有效选项:

-u [--show-updates] : 显示更新信息
-v [--verbose] : 打印附加信息
-N [--non-recursive] : 过时;尝试 --depth=files 或 --depth=immediates
--depth ARG : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
-q [--quiet] : 不打印信息,或只打印概要信息
--no-ignore : 忽略默认值和 svn:ignore 属性
--incremental : 给予适合串联的输出
--xml : 输出为 XML
--ignore-externals : 忽略外部项目
--changelist ARG : 只能对修改列表 ARG 成员操作

                        [aliases: --cl]

全局选项:

--username ARG : 指定用户名称 ARG
--password ARG : 指定密码 ARG
--no-auth-cache : 不要缓存用户认证令牌
--non-interactive : 不要交互提示
--trust-server-cert : 不提示的接受未知的 SSL 服务器证书(只用于选项 “--non-interactive”)
--config-dir ARG : 从目录 ARG 读取用户配置文件
--config-option ARG : 以下属格式设置用户配置选项:

                            FILE:SECTION:OPTION=[VALUE]
                        例如:
                            servers:global:http-library=serf

标签: svn

添加新评论