当前位置: 首页 > 工具软件 > StatCvs > 使用案例 >

用于StatCVS的log前期处理

宁欣怿
2023-12-01

    用于StatCVS的log前期处理

我发现通过StatCVS来实现某个branch/release的代码改动量很难,所以倾向于在生成log时就排除冗余信息。Cvs log命令也支持很多参数。
默认地,log会打印可用的所有信息。支持的参数可以用来限制输出。
-B bugid 只选择跟一个bug相关的修改版本
-b  打印默认分支的版本信息
-d"dates" (最有用的)限定选择日期的修改版本。
参数dates支持很广泛的日期格式。比如ISO8601和互联网电子邮件标准 (specified in RFC822 as amended by RFC1123).ISO8601 dates可以如下:
 
 
1972-09-24 20:05
至于互联网电子邮件标准, dates可以如下:
 
 
 
 
如果没有指定时区,当地时区会被默认。
参数dates还支持month/day/year
 
 
 
参数dates用法:
某个时期内的修改版本(d1,d2就是符合上述标准的日期):d1 <d2d2>d1
某个日期前的修改版本(包含该日期):<d d>
某个日期后的修改版本(包含该日期): d< >d
某个日期前的最新单个修改版本(包含该日期): d
前面的<,>可以加=表示包含式范围,而不是排除式范围。
多个日期参数用分号(;)来分割。
-h 只输出rcs文件的名字,工作目录里的文件名,头信息,默认分支,访问列表,符号名和后缀。
-l 只对本地工作拷贝。递归式进行扫描工作拷贝。
-N 不含tag信息。
-R 只输出rcs文件名。
-r"revisions" 分号分割的版本号列表,不能有空格。版本号格式可以是:
rev1 :rev2  同一branch的两个版本rev1rev2
rev1 ::rev2  rev1rev2之间的所有版本号(不包含rev1, rev2
:rev        rev版本之前的所有版本(包含rev, branch里的)
::rev        rev版本之前的所有版本(不包含rev, branch里的)
rev :        rev版本之后的所有版本(包含rev, branch里的)
rev ::        rev版本之后的所有版本(不包含rev, branch里的)
branch       branch下所有版本
branch .      Branch下最后一个版本
branch1 :branch2    branch1branch2之间的所有版本号(包含branch1branch2
branch1 ::branch2    branch1branch2之间的所有版本号(不包含branch1branch2
版本号参数为空表示默认分支的最新版本。
-S    如果一个文件没有符合限定的修改,就不输出该文件信息。
-s states 只输出符合分号分割的状态列表里状态的修改版本。
-T    显示时间用当地时区,而不是GMT
-t      -h参数,加描述性文本。
-w[logins] 输出分号分割的用户的修改版本。如果没有logins指定,则当前用户被认定。注意-w[logins]没有空格,所以有[]
-X    不输出CVS服务器生成的多余信息。这点可能变得很有用,如果前端软件无法支持解析多余输出时。
-x        通用全输出,这个也是默认选项,除非 CVS 服务器作了其他的配置。
 
特别要注意的是,-d, -r选项后面不能跟空格,如-rBRANCH_NAME:BRANCHNAME1, -d">2009/10/10"。

本文转自 dannyy1026 51CTO博客,原文链接:http://blog.51cto.com/dannyyuan/165718

 类似资料: