如何在Clearcase结账



我的整个开发生涯都在使用git,最近刚刚被分配到一个过时的源库,不幸的是,该源库仍在使用IBM Clearcase for Windows进行版本控制。我一直在努力掌握基本知识,主要是因为有很多东西没有清晰的git模拟,而且Clearcase也没有太多支持,因为几乎每个企业都不再使用它。

我的主要问题是我不知道如何签出不同的分支机构。我已经创建了一个VOB的快照视图(所以用git术语来说,是从远程克隆的本地repo(,我相信我在master分支上。我正在Rational ClearCase Explorer中查看它。然后我打开";类型资源管理器";,选择我正在处理的VOB;分支类型";。从这里我可以看到每一个已经创建的分支。

比方说,我想注销分支机构"my_branch";。在这个Clearcase资源管理器中右键单击时,我没有从上下文菜单中看到任何适当的选择。唯一的选择是";克隆"删除"重命名"以及";属性";。从cleartool,我运行命令

find ./ -branch 'brtype(my_branch)' -print

并返回以下内容:

./vobpathtochangedfilemyFile.cpp@@mainMYPROJECTmy_branch

这就是我想要的分支,我相信这个命令告诉我的是,与我当前的分支相比,my_branch已经更改了myFile.cpp。我想看看myFile.cpp与master相比在my_branch上有什么不同。现在,如果这是git,我想结账那家分店。但是,我用结账做的几乎所有事情都不起作用。

在Cleartool中,我尝试:

checkout -branch mainMYPROJECTmy_branch

然后我回来:

cleartool: Error: Element pathname required.

我本以为\main\MYPROJECT是路径名。因此,我试着看看如果我只检查了一个文件,会发生什么:

checkout -unreserved ./vobpathtochangedfilemyFile.cpp@@mainMYPROJECTmy_branch

它返回:

Checkout comments for "./vobpathtochangedfilemyFile.cpp":

并且一直挂着,从来没有检查过那个文件。

我到底做错了什么?我到底该如何查看这个可以在本地视图中看到的分支?任何帮助都是宝贵的,都是值得感激的,因为Clearcase是过去的一个神秘遗迹。

注意:我已经在";每个开发人员都应该知道clearcase的基本概念是什么"早在2009年。

你不会"结账";树枝
您列出了一组带有版本选择器的配置选择规则,如:

element * CHECKEDOUT
element * .../mybranch/LATEST 
element * /main/LATEST –mkbranch branch-type-name

这将选择myBranch上的任何最新版本(除非所述版本正在被修改,否则状态为"CHECKEDOUT"(
或者,如果该特定元素(文件或文件夹(还没有myBranch版本,则为main的最新版本(因为每个版本都以/main/0开头(。

该模型的问题出现在分支路径中:您需要记住从哪个分支启动myBranch
如果来自/main,则以上选择规则就足够了
但如果它从another_branch开始,那将是:

element * CHECKEDOUT
element * .../mybranch/LATEST 
element * .../another_branch/LATEST -mkbranch mybranch
element * /main/LATEST -mkbranch mybranch

规则(用于动态或快照视图(从上到下读取:第一个适用的规则将是视图用于显示文件/文件夹的规则。

注意:不能只签出一个文件
您必须签出其父文件夹(以及父/父…(,以便该文件夹显示正确的文件列表(然后您可以从中签出文件(。

显然,这与Git非常不同,Git不关心文件夹,只关心内容(树内容或文件内容/bob(。

因此,您需要一组适用于VOB元素的规则,以便查看您的单个文件(因为该组规则将选择文件夹的正确版本,以便您访问文件的正确版本(。

最新更新