• 语法: 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)。


-b

打印默认分支上的修订版信息,通常是主干上最高的分支。

-d

dates cvs 其他命令中的 ` -D' 选项(参阅 Common options)。日期可以用下面方式组合:

d1 <

d2 d2 >

d1 d1 和 d2 之间的修订版。

<

d d >

d 或之前的所有修订版。

d <

>

d d 或之后的所有修订版。

d d

`>' 或 `<' 字符可以跟随 `=' 用来指明包括到范围之内。

注意分隔符是分号(;)。


-h

rcs 文件名,文件的名字是在工作目录,头,默认分支,访问列表,锁,符号名和后缀。

-l

只运行在当前工作目录。(默认是递归运行)。

-N

不打印文件的标签列表。当你有众多的标签时,这个选项很好用,日志信息将不打印标签,而不是让你用 "more" 来看 3 页以上的标签信息。

-R

rcs 文件的名字。

-r

revisions revisions 列表指定范围内的修订版。下面解释可用的格式: rev1 :

rev2 rev1 至 rev2 (必须在同一个分支上)。

rev1 ::

rev2 rev1。

:

rev ::

rev rev。

rev :

rev 开始到包含 rev 分支的最后修订版。

rev ::

rev 之后开始到含 rev 的分支的最后修订版。

branch 参数是分支表示此分支上的所有修订版。

branch1 :

branch2 branch1 ::

branch2 分支范围表示在此范围内的所有修订版。

branch .

branch

没有修订版的单独 `-r' 意思是默认分支上的最新修订版,通常是主干。在 `-r' 选项和其参数之间没有空格。


-S

如没有选择修订版抑制。

-s

states states 由逗号分隔。独立的状态可以是任何字串, cvs 通常只使用两种状态, ` Exp' 和 ` dead'。参阅 admin options 了解更多信息。


-t

-h',外加说明文字。

-w

logins logins 列表用逗号分隔。如 logins 被忽略,假设是当前用户。在 ` -w' 选项和其参数之间没有空格。

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。)