【发布时间】:2013-03-26 08:57:08
【问题描述】:
我有两个集成分支 int_1 和 int_2。
在那个时候总是从int_1合并到int_2。
我想知道上一次从int_1 分支对int_2 分支进行合并是什么时候。
有什么命令可以做到吗?
【问题讨论】:
标签: clearcase
我有两个集成分支 int_1 和 int_2。
在那个时候总是从int_1合并到int_2。
我想知道上一次从int_1 分支对int_2 分支进行合并是什么时候。
有什么命令可以做到吗?
【问题讨论】:
标签: clearcase
如果您谈论的是 UCM 集成分支,这意味着您已经完成了从一个 UCM 项目的一个 integration Stream 交付到另一个项目的另一个集成流。
在这种情况下,转到目标分支int_2,并查找deliver.xxx 活动。最新的会告诉您上次交付的时间。
使用基本 ClearCase,这不是那么简单。
您需要列出 int_2 的最新版本,对其进行描述以便查找合并超链接。
见“How files and directories are merged”
在这里,您会看到,从test 的最新版本到最旧版本返回,main 的最后一次合并是在版本 3 上。
描述该版本将返回:
cleartool describe util.h@@/main/3version "util.h@@/main/3"
.
.
.
Hyperlinks:
Merge@278@/vob_3 /vob_3/src/util.h@@/main/rel2_bugfix/1
-> /vob_3/src/util.h@@/main/3
你也可以试试:
cleartool describe -l util.h@@/main/3version
【讨论】:
int_2 的每个版本编写查找过程脚本,以便收集每个最新超链接的日期,重新构建 4 组合并。这就是为什么 UCM 更方便的原因,它添加了“活动”以精确记录那些连续的合并。
cleartool 命令可以为你做到这一点。
严格来说,您的问题没有答案,因为 ClearCase 没有变更集或任何代表单个“合并”的功能。您所能做的就是搜索单个文件版本之间发生的合并,并查看每个文件执行的时间。如果它们在同一天,或者在时间上彼此非常接近,它们可能代表一个“合并”。
要获得一个激励性示例,请通过“cleartool man find”查看手册,其中列出了一些使用 merge(from-branch, to-branch) 子句的示例。
要获取合并到 int_2 的版本 int_1,请尝试:
ct 找到 . -type f -branch 'brtype(int_1)' -version 'merge(/main/int_1,/main/int_2) && hltype(Merge,->)'要查看目标版本,请添加一些额外的处理,例如:
ct 找到 . -type f -branch 'brtype(int_1)' -version 'merge(/main/int_1,/main/int_2) && hltype(Merge,->)' -exec 'echo -n "$CLEARCASE_XPN" && cleartool desc -short -ahlink 合并 $CLEARCASE_XPN'要了解合并发生的时间,您需要对目标版本进行一些后处理(例如 cleartool desc -fmt '%Nd' )以获取时间戳。
【讨论】: