仅在明确的特定扩展名上分支

时间:2012-04-04 19:49:03

标签: branch clearcase config-spec

我正在尝试编写一个仅在某些文件类型上分支的configspec(I.E.文档可能很痛苦,所以我们希望避免这些)。

现在我有以下扩展名: * .txt和* .pl(例如)

我试过了:

element * CHECKEDOUT
element -directory * \main\LATEST
element '{*.txt||*.pl}'  \main\BLARG\LATEST
element '{*.txt||*.pl}'  \main\LATEST -mkbranch BLARG

使用括号和其他一些变体。

我只是感到困惑,我确实发现在某些情况下你可以使用类似于c ++的比较运算符但是无法使它工作。

(从这里查看查询语言部分: http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/index.jsp?topic=/com.ibm.rational.clearcase.cc_ref.doc/topics/config_spec.htm

我应该可以使用:query&&查询

是否可以通过使用configspec仅允许在特定文件类型上进行分支,如果是这样,是否有任何提示/提示/某些内容可以让我朝着正确的方向前进?

编辑: 从我发送的链接(无论如何在该网站上的一个页面)中读取,您可以使用某些内容进行设置

element * CHECKEDOUT
element -directory * \main\LATEST
element *.[hc]  \main\BLARG\LATEST
element *.[hc]  \main\LATEST -mkbranch BLARG

这应匹配您正在查看的任何h和c文件,并允许根据这些文件进行分支。

element * CHECKEDOUT
element -directory * \main\LATEST
element *.txt  \main\BLARG\LATEST
element *.txt  \main\LATEST -mkbranch BLARG

这将起作用,只匹配.txt文件,这很棒,我只是希望它能匹配额外的设置,也许我可以添加一两个额外的一行,也许这将完成我正在尝试做的事情

element * CHECKEDOUT
element -directory * \main\LATEST
element *.txt  \main\BLARG\LATEST
element *.pl  \main\BLARG\LATEST
element *.txt  \main\LATEST -mkbranch BLARG
element *.pl  \main\LATEST -mkbranch BLARG

由于各种原因,我们的团队只对某些文件集进行分支,其中一个原因是在某些情况下很难合并(注意.doc文件)。我打算编写一个configspec,它会自动将我们的团队指定为“branchable”,但其他只是checkout main。

我希望我的问题更清楚,我认为这不是你在初步回答VonC(我想)中所说的,如果你的回答仍然存在,请告诉我。

1 个答案:

答案 0 :(得分:1)

不,似乎不太可能(除非您列出要分支的每种类型),并且有理由。
分支背后的想法是隔离一组文件的历史记录(不是针对所述组的某些特定部分) UCM及其UCM组件概念(一组连贯的文件,分支为全部,标记为全部单元)加强了这一想法。
请参阅文章“Best practices for using composite baselines in UCM”中有关“组件”的更多信息。

UCM component

因此,努力弯曲工具以实现一个选择性版本控制组织可能不是正确的做法。

在他们自己的“组件”中隔离这些文件,然后通过符号链接将它们用回原始树结构是一种可能的解决方案(可能还有其他)至少更好(这让人联想到子模块的概念)或其他(D)VCS使用的子林


另外,如果您因为合并“难以”而分支:

copy-merge

我意识到你出于其他可能有效的原因而分支,但同样,我喜欢我的分支政策简单,可管理和可扩展。