如何查找在clearcase分支下修改的文件

sar*_*rat 18 version-control clearcase

我在我的分支下修改并签入了一堆文件.现在我需要获取我修改过的文件列表.有脚本可以吗?

Von*_*onC 26

cleartool命令find应该帮助你在给定的分支至少一个版本发现任何元素(文件).

以下将找到分支上的所有文件

cleartool find . -type f -branch "brtype(mybranch)" -print
Run Code Online (Sandbox Code Playgroud)

有关更多示例,请参阅查找示例或" cleartool find命令的其他示例".


OP萨拉补充说:

它给了我一个带有@和其他字符的残缺文件名.是否有可能获得正常的路径?

没错,这样的命令会给你类似的东西(例如):

.\.checkstyle@@\main\MyBranch
.\.classpath@@\main\MyBranch_Int\MyBranch
.\.classycle@@\main\MyBranch_Int\MyBranch
.\.fbprefs@@\main\MyBranch_Int\MyBranch
Run Code Online (Sandbox Code Playgroud)

要获得唯一的路径,您有两个解决方案:

1 /使用正确的分支查找元素(而不是版本):

cleartool find . -type f -ele "brtype(mybranch)" -print
Run Code Online (Sandbox Code Playgroud)

(注意-ele更换-branch)
这会给:

.\.checkstyle@@
.\.classpath@@
.\.classycle@@
.\.fbprefs@@
.\.pmd@@
Run Code Online (Sandbox Code Playgroud)

但你还是有"丑陋" @@的.

2 /将find与exec指令结合起来,该指令描述了使用fmt_ccaseformat找到的元素:

cleartool find . -type f -ele "brtype(mybranch)" -exec "cleartool descr -fmt \"%En\n\" \"%CLEARCASE_PN%\""
Run Code Online (Sandbox Code Playgroud)

多线形式的可读性:

cleartool find . -type f -ele "brtype(mybranch)" \
  -exec "cleartool descr -fmt \"%En\n\" \"%CLEARCASE_PN%\""
Run Code Online (Sandbox Code Playgroud)

请注意,所有"内部"双引号都需要转义.

%En会给你发现元素的名称.

.\.checkstyle
.\.classpath
.\.classycle
.\.fbprefs
.\.pmd
.\.project
.\.settings\dico.txt
Run Code Online (Sandbox Code Playgroud)


JD *_*D D 8

find命令是最好的来源.为解决OP关于使用@@以及之后的所有分支和版本信息返回"残缺"名称的问题,可以添加"-nxn"选项以不提供此信息.将元素搜索与exec指令结合以格式化输出要容易得多.

cleartool find . -type f -branch "brtype(mybranch)" -nxn -print
Run Code Online (Sandbox Code Playgroud)


小智 6

上面的命令将特别修改所有文件branch(myBranch).
但是,如果要查找特定用户在特定日期修改的文件,则需要以下命令:

cleartool find . -version "{created_since(28-APRIL-2011.23:00:00) \
                           && (!created_since(29-APRIl-2011.23:00:00)) \
                           && brtype(BR_test) \
                           && created_by(p723029)}" \
                 -exec "cleartool describe -fmt \nName\t\t:\040%En\nResponsible\t:\040%u\nDate\t\t:\040%d\nComment\t\t:\040%c\n %CLEARCASE_XPN%" \
                 -print >> D:\test.xls
Run Code Online (Sandbox Code Playgroud)

(在一个巨大的行复制/粘贴目的:)

cleartool find . -version "{created_since(28-APRIL-2011.23:00:00) && (!created_since(29-APRIl-2011.23:00:00))  && brtype(BR_test)  && created_by(p723029)}" -exec "cleartool describe -fmt \nName\t\t:\040%En\nResponsible\t:\040%u\nDate\t\t:\040%d\nComment\t\t:\040%c\n %CLEARCASE_XPN%" -print >> D:\test.xls
Run Code Online (Sandbox Code Playgroud)