的问题是:
实际上有什么目录:
- 分支
BR_PHASE2
一个版本?
- 标签为
LBL_MS_PHASE2_04-NOV-2010
的版本?
如果你只分支/标记/myVob/myDirectory
下的所有文件,然后将目录/myVob
本身不会永远不会被支/标记。
这意味着以下配置规范将无法选择任何版本/myVob
,使所有的其他规则的任何文件/myVob
无用下:
直到ClearCase是能够在真皮休闲选择的/myVob
一个有效版本,它将无法为/myVob
下的任何文件选择任何版本。
element * CHECKEDOUT
element * /main/BR_PHASE2/LATEST
你应该总是结束您的配置规格与 “配置停止规则”,如:
element * /main/LATEST
或至少:
element /myVob /main/LATEST
添加这些的一个在结束您的配置规范,并且该视图应按预期工作。
ClearCase的配置规范机制的组成为基础的一个:更多地了解它,请参阅SO回答“Flexible vs static branching (GIT vs Clearcase/Accurev)”。
的OP补充说:
你提到总是结束CS有:element * /main/LATEST
,
不一定:
如果你想确保只使用右分支/标签查看/ myVob/myDir下的文件,您可以使用上面提到的:
element /myVob /main/LATEST
该规则仅适用于/myVob
(不属于/myVob
下的任何内容)。
这允许ClearCase通过/myVob
(因为它至少可以为它选择一个有效版本)并开始将其他选择规则应用于子目录。
但如果我想检查出仅来自分支BR_PHASE2
的文件,不会创建一个错误。我在说,当我用/ main/LATEST结束它并签出并签入文件时,它会在主分支中更新。我该怎么办呢?
这取决于你所使用的配置规格:
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_MS_PHASE2_04-NOV-2010
。
我检出了标签'LBL_MS_PHASE2_04-NOV-2010'中的一些文件到分支BR_PHASE2。我得到了确认文件已成功检入分支。但是当我尝试将配置设置为: element * CHECKEDout element */main/BR_PHASE2/LATEST,我收到错误。此外,我无法打开我的VOB和任何文件夹结构在新创建的分支下。它说当我尝试访问它时找不到文件夹或目录,但'ls'列出了目录结构,并且所有文件夹似乎都存在。任何解决这个问题的方法? – Madan 2010-11-22 14:10:52
在我看来,配置规范没有向你显示目录树,因为你只是没有看到你的配置规范。你应该纠正你的最后一个cs,看到更新的答案。 – 2010-11-22 14:22:50
Thnx为最新的代码。似乎工作,但问题是我无法理解config规格如何选择哪个分支来检出文件,并且既然您已经从BR_PHASE2提供了main和latest的标签,那么目前可见的目录结构是来自main或从分支? – Madan 2010-11-22 15:00:08