【问题标题】:How to set view element baseline from command line or script in UCM ClearCase?如何在 UCM ClearCase 中从命令行或脚本设置视图元素基线?
【发布时间】:2016-06-01 12:17:58
【问题描述】:

如何在 UCM ClearCase 快照视图配置规范中从脚本中选择具有特定基线的元素?

我正在编写一个脚本,它将创建给定流的快照视图,并且应该选择流内容的特定基线版本。我更愿意以与设置加载规则相同的方式设置元素基线,但找不到这样做的方法。

这是我目前正在做的事情:

...
cleartool mkview -snapshot -tag ${cc_view} -ptime -stream ${cc_stream}@\\myVob -vws ${cc_dir}/${cc_view}.vws ${cc_dir}/${cc_view} || die "Failed to create view. Exiting."
cd ${cc_dir}/${cc_view}
# Set the element baselines
cleartool edcs -overwrite
cleartool update -overwrite -add_loadrules ${components} || die "Failed to update view. Exiting."
...

另一个问题可能是我无法在自定义块的配置规范中设置元素版本 - 我必须在组件选择规则中进行设置!覆盖 UCM 的“组件选择规则”部分感觉有点危险。我在edcs 阶段这样做:

ucm
identity UCM.Stream <...id...>
# ONLY EDIT THIS CONFIG SPEC IN THE INDICATED "CUSTOM" AREAS
# This config spec was automatically generated by the UCM stream
# "myStream" at 2017-06-01T07:43:33+02:00.
# Select checked out versions
element * CHECKEDOUT
# Component selection rules...
element "[ee5a<...id...>=\MYCOMPONENT]/..." my-component-1.0 -nocheckout
end ucm
#UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES AFTER THIS LINE
#UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES
# Non-included component backstop rule: no checkouts
element * /main/0 -ucm -nocheckout
#UCMCustomLoadBegin - DO NOT REMOVE - ADD CUSTOM LOAD RULES AFTER THIS LINE
load \MYCOMPONENT


相关问题:


正如 VonC 建议的那样,我搬到了基地 CC:
...
cleartool mkview -snapshot -tag ${cc_view} -ptime -vws ${cc_dir}/${cc_view}.vws ${cc_dir}/${cc_view} || die "Failed to create view. Exiting."
cd ${cc_dir}/${cc_view}
cat << EOF > config_spec
element * CHECKEDOUT
element * ${baseline} -nocheckout
element * /main/LATEST
EOF
cleartool setcs -force -overwrite config_spec || die "Failed to set config spec. Exiting."
cleartool update -overwrite -add_loadrules ${components} || die "Failed to update view. Exiting."
...

【问题讨论】:

  • 您这样做是为了达到什么目的?为什么需要从一个基线中选择一个元素,而从另一个基线中选择其他所有元素? 2个基线之间的关系是什么?
  • 我需要一个包含来自一个基线的所有元素的视图 - 没有 2 个基线。我希望我的问题没有误导。最终目标是获得一个快照视图,代表集成流中的特定基线。

标签: clearcase clearcase-ucm cleartool


【解决方案1】:

首先,这只有在 baseline is full 时才有效。
如果它是增量的,您可能会选择带有未在父文件夹上设置的标签(与基线关联)的元素,从而使该元素无法访问。

其次,这种自定义选择最好使用您拥有的非 UCM 基本 ClearCase 快照视图来完成:

  • 加载规则与 UCM 快照视图相同
  • 不过是一套更简单的选择规则:

    element * yourBaselineId
    element * /main/LATEST
    

【讨论】:

  • 谢谢,在基础 CC 中执行此操作更容易:我从 mkview 中删除了 -stream 参数并从脚本创建配置规范!对于更复杂的多组件项目,我将手动创建配置规范 - 与我的需求相比,编写这些配置规范的工作量太大了。
  • 是的,我只有完整的基线。原始问题中缺少此内容。
猜你喜欢
  • 1970-01-01
  • 2011-01-24
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 2013-10-17
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多