我是CC的新手,我来自Git和Mercurial背景,这可能就是为什么ClearCase让我如此困惑。我被分配了一项任务,将最新的CC修订版迁移到Git。问题是我无法在CC中检查除main之外的任何分支。
我有一个显示所有VOB / main / LATEST修订版的视图。我假设,主分公司的最新版本。
element * CHECKEDOUT
element * /main/LATEST
现在我需要获取特定VOB中其他分支的列表。为此,我从该文件夹中的终端导航并运行
cleartool lstype -kind brtype -invob /%VOB_NAME%
我可以看到分支列表。如果我错了,请纠正我,但我认为,它只显示与VOB相关的分支(%VOB_NAME%)。
现在我需要结帐分支机构。这样做的标准方法是什么。我尝试用以下内容更新配置规范:
element * /%VOB_NAME%/%BRANCH_NAME%/LATEST but it doesn't seem to work.
很确定我做得不对。 同样出于迁移目的,我需要自动执行获取分支和检出分支的步骤。我想更新配置规范以在视图中切换分支需要一些时间并且可能是异步操作,所以有没有办法确定何时视图完成更新?
或者可能有一个命令行选项来切换视图中特定VOB的分支?
简而言之,这是我正在努力解决的问题:
比
感谢
更新
好吧我试过@VonC的推荐,所以我的配置规范看起来像这样:
element * CHECKEDOUT
element * .../heine_1/LATEST
element * /main/LATEST
如果我正确猜测,一个名为heine_1的包含VOB的分支应检查该特定分支,其余的VOB将保留在主分支上,但事实并非如此。当我在VOB中运行cleartool ls
时,它仍在主分支上。所有文件夹都以Rule: /main/LATEST
为后缀。所以我猜它没有切换分支。
由于
答案 0 :(得分:-1)
原始问题和评论中有几个问题。
首先解决configspec问题......
元素规则的语法是: element {path} {version rule} {optional clauses}
如果您需要特定于VOB的规则,则可以执行以下操作:
element \myvob\... ...\myvobbranch\LATEST
element \myvob\... \main\LATEST -mkbranch myvobbranch
路径中的“...”表示“此位置及其下方的所有内容”。 “版本规则”中的“...”表示分支名称位于末尾,因此匹配/ main / myvobbranch / LATEST,/ main / br1 / myvobbranch / LATEST等。
如果你正在分支机构工作,你通常希望新文件或工作出现在你正在工作的分支机构上,第二行就是这样。
configspec中的所有内容都区分大小写,因此请注意“LATEST”不是“最新的”。
由于视图是为您创建的,因此我可以肯定它是一个动态视图。如果它映射到驱动器,它肯定是动态的。如果您需要确定,可以将CD刻录到视图的“工作区域”并运行“cleartool lsview -pro -full -cview”并查看“属性”行。动态视图的行如下所示:
Properties: dynamic readwrite shareable_dos
关于直接问题:
cleartool checkout -branch {full branch path} {file name}
查看分支上的最新信息,或cleartool checkout -version {version id} {file name}
查看最新版本以外的版本分店。我不建议将其作为正常做法。 -branch将导致签入转到元素的父分支。 -version需要添加一个要求来执行合并以完成签入,这也将转到版本的父分支。一个大的“新用户问题”是目录也是版本化对象。如果要将文件添加到源代码管理,则需要记住检查目录,以便具有类似配置视图的其他人可以看到它们。如果您在未检出目录的情况下启动进程,则ClearCase GUI将此行为作为默认值,但如果您事先明确检出了目录,则不会。