2

我正在尝试编写一个仅在某些文件类型上分支的配置规范(IE Docs 可能很痛苦,所以我们希望避免这些)。

现在我有以下扩展名:*.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

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

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

编辑:阅读我发送的链接(无论如何,该网站上的一个页面),您可以使用一些东西来设置它

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 文件)。我打算编写一个配置规范,它会自动分支我们团队指定为“可分支”的内容,否则只是检查 main。

我希望我的问题更清楚,并且我认为这并不是您在最初的回答 VonC 中所说的(我认为),如果您的回答仍然成立,请告诉我。

4

1 回答 1

1

不,这似乎并不容易(除非您列出要分支的每种类型),并且是有原因的。
分支背后的想法是隔离一组文件的历史记录(而不是该组的某些特定部分)。
UCM 及其 UCM 组件概念(一组连贯的文件,作为一个整体分支,并被标记为一个整体单元)强化了这个想法。请参阅“在 UCM 中使用复合基线的最佳实践
”一文中有关“组件”的更多信息。

UCM 组件

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

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


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

复制合并

我知道您出于其他可能有效的原因进行分支,但我再次喜欢我的分支策略简单、可管理和可扩展。

于 2012-04-04T20:45:21.307 回答