例如,不要编写以下内容:

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的值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top