2

我经常收到这样的请求。“查找从特定日期更改的文件列表”。

我得到了答案,如下所示

 "cleartool find <Vobtag> -version "{brtype(IntegrationStream) && created_since(13-Jan.8:30)}" -print"

但是很少有人问“查找更改的文件列表以及由谁更改”。这样他们就可以确定开发人员的姓名并分配给他解决问题的任务。

是否可以通过管道传输上述命令并找到制作该版本的用户?

4

1 回答 1

2

您应该能够将created_by成员添加到您的查找查询中。
请参阅query language手册页

created_by (login-name)

在所有情况下,如果对象是由用户登录名创建的(如 describe 命令所示),则为 TRUE。

所以你的查询看起来像:

cleartool find <Vobtag> -version "{brtype(IntegrationStream) && created_since(13-Jan.8:30) && created_by(aUser)}" -print

OP评论:

您给出的命令将找到特定人创建的文件列表。
但我想找到所有的文件 created_since 以及它是由谁创建的

没错,为此,您需要按照fmt_ccase手册页向查询添加格式参数。
由于cleartool find没有-fmt参数,您所做的是将查找查询的结果通过管道传输到cleartool describe命令(可以使用-fmt指令)。

cleartool find <Vobtag> -version "{brtype(IntegrationStream) && created_since(13-Jan.8:30)}" -exec "cleartool describe -fmt \"%Xn : %u\n\" \"%CLEARCASE_XPN%\"

命令的第二部分是:

-exec "cleartool describe -fmt \"%Xn : %u\n\" \"%CLEARCASE_XPN%\"

重要的参数是:

%u

与对象的创建事件相关的用户/组信息(修饰符:F、、、GL;另见%[owner]p%[group]p

\"%CLEARCASE_XPN%\"

find它表示查询找到的版本的扩展路径名。

于 2012-01-18T11:25:26.843 回答