代码之家  ›  专栏  ›  技术社区  ›  LeopardSkinPillBoxHat

可以在ClearCase配置规范中使用变量吗?

  •  3
  • LeopardSkinPillBoxHat  · 技术社区  · 16 年前

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

    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%
    

    这可能吗?正确的语法是什么?

    2 回复  |  直到 16 年前
        1
  •  3
  •   Community Mohan Dere    8 年前

    在ClearCase中执行此操作的唯一本地方法是使用 属性 config-spec .

    根据 version selector

    element * ...{MY_ATTRIBUTE_NAME=="aValue"}
    

    LATEST 属性为“”的任何分支上的版本 MY_ATTRIBUTE_NAME “与” aValue

    这意味着您需要更改旧分支上的属性值,将其放在新分支上,' cleartool setcs '再次打开您的视图,您应该有一个基于新版本选择的新内容。

    不是很直截了当,但它可以工作, 除了分行部分 (需要固定名称)。


    GeekCyclist's answer ,有几点意见:

    包含公共配置规范的解决方案可以用于基本ClearCase解决方案,但是:

    • setcs 确实需要使用view_服务器刷新其缓存并重新评估当前的配置规范,该配置规范存储在view存储目录的文件config_spec中。这包括:
      • 使用非绝对规范评估时间规则(例如,现在,星期二)
      • 重新评估配置规则,可能选择与以前不同的派生对象
    • 当包含的公共配置规范文件发生更改时,需要通知所有其他开发人员(ClearCase中不包含本机通知)

    固定的

        2
  •  1
  •   Gary.Ray    16 年前

    我已经有一段时间没有在ClearCase中工作了(我们切换到Subversion),但如果我没记错的话,就没有办法在ClearCase中实现这一点。

    您可以使用或编写脚本生成器来创建等级库文件,然后将其包含在实际等级库中:

    element * CHECKEDOUT
    include scripted_file_output
    

    然后跑

    cleartool setcs -current
    

    这种方法的问题在于,我认为无论何时更改MY_分支的值,都需要重新生成include规范,并且cleartool setcs都会运行。