是否可以在 ClearCase 配置规范中使用变量?
-
22-08-2019 - |
题
例如,不要编写以下内容:
element * .../my_branch_01/LATEST
element * .../base_branch/LATEST -mkbranch my_branch_01
我想写这样的东西:
MY_BRANCH=my_branch_01
element * .../%MY_BRANCH%/LATEST
element * .../base_branch/LATEST -mkbranch %MY_BRANCH%
这可能吗?正确的语法是什么?
解决方案
在 ClearCase 中执行此操作的唯一本机方法是使用 属性 在一个 配置规格.
根据 版本选择器 规则,您可以根据属性制定“按查询选择”规则:
element * ...{MY_ATTRIBUTE_NAME=="aValue"}
会选择 LATEST
具有属性 ' 的任何分支上的版本MY_ATTRIBUTE_NAME
' 和 'aValue
' 在里面。
这意味着您需要更改旧分支上的属性值,将其放在新分支上,'cleartool setcs
' 再次查看您的视图,您应该会获得基于新版本选择的新内容。
不是很直接,但它可以工作, 除了 mkbranch 部分 (需要一个固定的名称)。
关于 GeekCyclist 的回答, ,几点评论:
包含通用配置规范的解决方案适用于 Base ClearCase 解决方案,但是:
- 需要属于所有相关开发人员可用的份额
- 这 塞茨 确实有必要让 view_server 刷新其缓存并重新评估当前配置规范,该配置规范存储在视图存储目录中的文件 config_spec 中。这包括:
- 使用非绝对规范评估时间规则(例如,现在、星期二)
- 重新评估 –config 规则,可能选择与以前不同的派生对象
- 重新读取包含规则中指定的文件
- 当公共包含的配置规范文件发生更改时,需要通知所有其他开发人员(ClearCase 中不包含本机通知)
如果您需要一个“环境”(即一个“视图”或工作区)具有可变内容(取决于不同的分支),您需要定义一个指向不同视图的符号链接(或 windows subst)(每个视图都有自己的配置规范)
这样,您只需更改链接(或替换的路径)即可更改与给定关联的配置规范 固定的 小路。
其他提示
这已经有一段时间,因为我在ClearCase的工作(我们切换到颠覆),但如果我没有记错有没有办法做到这一点原产于ClearCase的。
您可以使用或编写一个脚本生成器会创建规范文件,然后包括,在实际规格:
element * CHECKEDOUT
include scripted_file_output
然后运行
cleartool setcs -current
这种方法的问题是,我相信,包括规范将需要再生和cleartool setcs运行,只要你改变MY_BRANCH的值。
不隶属于 StackOverflow