- 语法: log [options] [files...]
- 需要: 仓库,工作目录。
- 修改: 无。
显示文件的日志信息。log
过去调用 rcs 的 rlog
工具。虽然现在不再使用,这段历史也会影响输出的格式和选项,使它跟其余的 cvs 命令风格都不相同。
输出信息包括 rcs 文件的位置,head 修订版(主干上的最新修订版),所有的符号名(标签),以及其他的字串。对于每个修订版,将打印版本号,日期,作者,添加/删除的行数,commitid 和日志消息。日期以本地的时间显示。通常在 $TZ
环境变量里面指定,可以设置以决定 log
如何显示日期。
注意: log
使用 `' 的方式与其他 -Rcvs 不同 (参阅 Common options)。
log 选项
默认情况下,log
打印所有有效的信息。其他选项用来限制输出。注意,修订版选择选项 (-d
, -r
, -s
和 -w
) 无效,其他可能搜索 Attic 目录里的文件,除非指定 -S
选项,否则联合使用此选项只限制输出 log
头字段(-b
, -h
, -R
, and -t
)。
-
打印默认分支上的修订版信息,通常是主干上最高的分支。
-
打印修订版提交的日期,用分号分隔的日期列表指定范围。日期格式同
cvs 其他命令中的 `
-D' 选项(参阅
Common options)。日期可以用下面方式组合:
-
d1
-
选择
d1 和
d2 之间的修订版。
-
选择
d 或之前的所有修订版。
d
-
选择日期
d 或之后的所有修订版。
d
- 选择日期 d 或早期的单个最新的修订版。
<
d2 d2>
d1<
d d>
<
>
d`>' 或 `<' 字符可以跟随 `=' 用来指明包括到范围之内。
注意分隔符是分号(;)。
-
选择
d1 和
d2 之间的修订版。
-
只打印
rcs 文件名,文件的名字是在工作目录,头,默认分支,访问列表,锁,符号名和后缀。
-
只运行在当前工作目录。(默认是递归运行)。
-
不打印文件的标签列表。当你有众多的标签时,这个选项很好用,日志信息将不打印标签,而不是让你用 "more" 来看 3 页以上的标签信息。
-
只打印
rcs 文件的名字。
-
打印由逗号分隔的
revisions 列表指定范围内的修订版。下面解释可用的格式:
-
rev1
-
修订版
rev1 至
rev2 (必须在同一个分支上)。
rev1
-
同上,但不包含
rev1。
-
从分支开始到 REV 的修订版,包括
rev。
rev
-
从
rev 开始到包含
rev 分支的最后修订版。
rev
-
从
rev 之后开始到含
rev 的分支的最后修订版。
branch
-
参数是分支表示此分支上的所有修订版。
branch1
-
分支范围表示在此范围内的所有修订版。
branch
- branch 分支上的最新修订版。
:
rev2::
rev2:
rev::
rev:
::
:
branch2 branch1::
branch2.
没有修订版的单独 `-r' 意思是默认分支上的最新修订版,通常是主干。在 `-r' 选项和其参数之间没有空格。
-
修订版
rev1 至
rev2 (必须在同一个分支上)。
-
如没有选择修订版抑制。
-
打印匹配状态列表的修订版,列表
states 由逗号分隔。独立的状态可以是任何字串,
cvs 通常只使用两种状态, `
Exp' 和 `
dead'。参阅
admin options 了解更多信息。
-
同 `
-h',外加说明文字。
- 打印列表指定用户提交的修订版, logins 列表用逗号分隔。如 logins 被忽略,假设是当前用户。在 ` -w' 选项和其参数之间没有空格。
-b
-d
dates
-h
-l
-N
-R
-r
revisions
-S
-s
states
-t
-w
logins
log
打印 `-d', `-s' 和 `-w' 选项的修订版交集, `-b' 和 `-r' 选项修订版的并集。
log 示例
即使 log
显示的是本地日期,你也可以显示 Coordinated Universal Time (UTC) 或其他时区。可以在 cvs 之前通过设置 $TZ
环境变量实现:
$ TZ=UTC cvs log foo.c $ TZ=EST cvs log bar.c
(如果你用的是 csh
风格的 shell,比如 tcsh
,你需要在上面例子中指定 env
。)