使用configspec的ClearCase分支

使用configspec的ClearCase分支,clearcase,Clearcase,我对ClearCase知之甚少,希望了解更多。 我已在/main 我已使用以下命令将文件签出到分支中: element * CHECKEDOUT element * .../BR_PHASE2/LATEST element * /main/LBL_MS_PHASE2_04-NOV-2010 -mkbranch BR_PHASE2 现在的问题是如何从分支访问文件?? 如果切换到此配置规范,我甚至无法打开VOB: element * CHECKEDOUT element * /main/BR_P


我对ClearCase知之甚少,希望了解更多。
我已在
/main

我已使用以下命令将文件签出到分支中:

element * CHECKEDOUT
element * .../BR_PHASE2/LATEST
element * /main/LBL_MS_PHASE2_04-NOV-2010 -mkbranch BR_PHASE2 
现在的问题是如何从分支访问文件??
如果切换到此配置规范,我甚至无法打开VOB:

element * CHECKEDOUT
element * /main/BR_PHASE2/LATEST
我写的配置规范是不是写错了??当我尝试如上所述设置配置规范时出现的错误:
警告:新配置规范使当前工作目录不可见


实际访问我创建的分支的步骤是什么???

您的第一个配置规范似乎还可以。它说,您试图从标签“LBL\u MS\u PHASE2\u 04-NOV-2010”更改的所有文件都将分支到BR\u PHASE2。试着签出一些东西,然后观察版本树

另外,第二个配置规范告诉您查看所有文件,这些文件只属于分支,但是如果您没有签出任何分支,那么您将什么也看不到

请尝试以下操作:

element * CHECKEDOUT
element * /main/LBL_MS_PHASE2_04-NOV-2010
element * /main/BR_PHASE2/LATEST
这样,通过选择标签和分支中的文件,您就拥有了目录结构。

问题是:

实际目录有哪些:

  • 分支机构中的版本
    BR_PHASE2
  • 标签为2010年11月4日LBL\U MS\U PHASE2的版本
如果只对
/myVob/myDirectory
下的所有文件进行分支/标记,则目录
/myVob
本身将永远不会被分支/标记

这意味着以下配置规范将无法为
/myVob
选择任何版本,使得
/myVob
下任何文件的所有其他规则都无效:
除非ClearCase能够至少选择一个有效版本的
/myVob
,否则它将无法为
/myVob
下的任何文件选择任何版本

element * CHECKEDOUT 
element * /main/BR_PHASE2/LATEST
您应该始终使用“配置停止规则”结束配置规范,如:

或者至少:

element /myVob /main/LATEST
在配置规范的末尾添加其中一个,视图应该可以按预期工作


ClearCase配置规范机制是一种基于组合的机制:要了解更多信息,请参阅SO答案“”


OP补充道:


您已经提到,cs的结尾总是使用:
element*/main/LATEST

不一定:

如果您想确保只查看具有正确分支/标签的/myVob/myDir下的文件,可以使用我上面提到的:

element /myVob /main/LATEST
该规则仅适用于
/myVob
(不适用于
/myVob
下的任何内容)。
这允许ClearCase通过
/myVob
(因为它至少可以为它选择一个有效的版本),并开始将其他选择规则应用于子目录

但是如果我只想从分支
BR_PHASE2
检出文件,这不会产生错误。我是说,当我以/main/LATEST和checkout-and-check-in文件结束它时,它会在主分支中更新。我该怎么办

这取决于您使用的配置规范:

element * CHECKEDOUT
element * /main/BR_PHASE2/LATEST
element * /main/LATEST
确实会在主分支中创建新版本

element * CHECKEDOUT
element * .../BR_PHASE2/LATEST
element * /main/LBL_MS_PHASE2_04-NOV-2010 -mkbranch BR_PHASE2 
element * /main/LATEST

不会,因为第三条规则将首先应用,如果该元素已标记为“LBL\U MS\U PHASE2\U 04-NOV-2010”

我已签出从标签“LBL\U MS\U PHASE2\U 04-NOV-2010”到分支机构BR\U PHASE2的一些文件。我得到了文件已成功签入分支的确认。但当我尝试将配置设置为:element*CHECKEDOUT element*/main/BR_PHASE2/LATEST时,我得到了错误。此外,我无法打开我的VOB和新创建的分支下的任何文件夹结构。当我尝试访问它时,它显示“未找到文件夹或目录”,但“ls”列出了目录结构,并且所有文件夹似乎都存在。这个问题的任何解决方案??在我看来,配置规范没有向您显示目录树,因为您只是在配置规范下看不到它。您应该更正上一个cs,查看更新的答案。Thnx以获取最新代码。似乎可行,但问题是我无法理解配置规范如何选择从哪个分支签出文件,因为您已经给出了main和BR_PHASE2的最新标签,现在可见的目录结构是从main还是从branch?您需要了解,所有的版本控制不是应用于树,而是应用于部分元素。所以,如果你看不到树,你就看不到文件。试着读一下这本手册,也许会有帮助:谢谢!!将进行一些实验,并返回更多查询。您已经提到总是以:element*/main/LATEST结束cs,但是如果我只想从分支BR_PHASE2签出文件,这不会产生错误。我是说,当我以/main/LATEST和checkout-and-check-in文件结束它时,它会在主分支中更新。我该怎么办?@Madan:我已经在我的最新答案中回答了你的问题。非常感谢。将尝试此解决方案并返回查询(如果有)。
element * CHECKEDOUT
element * .../BR_PHASE2/LATEST
element * /main/LBL_MS_PHASE2_04-NOV-2010 -mkbranch BR_PHASE2 
element * /main/LATEST