繁体   English   中英

如何在 Clearcase 中结账?

[英]How to checkout a branch in Clearcase?

我的整个开发生涯都在使用 git,最近刚刚被分配到一个过时的源代码库,不幸的是,它仍在使用 IBM Clearcase for Windows 进行版本控制。 我一直在努力掌握基础知识,主要是因为有很多东西与 git 没有明确的相似之处,而且由于几乎所有企业都不再使用 Clearcase,因此没有太多支持。

我的主要问题是我不知道如何结帐不同的分支。 我已经创建了一个 VOB 的快照视图(所以在 git 术语中,一个从远程克隆的本地存储库),我相信我在主分支上。 我在 Rational ClearCase Explorer 中查看它。 然后我打开“类型资源管理器”、select 我正在使用的 VOB 和 select“分支类型”。 从这里我可以看到每个已创建的分支。

假设我想查看分支“my_branch”。 在此 Clearcase 资源管理器中右键单击后,我没有从上下文菜单中看到任何适当的选择。 唯一的选项是“克隆”、“删除”、“重命名”和“属性”。 从 cleartool,我运行命令

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

它返回以下内容:

./\vob\path\to\changed\file\myFile.cpp@@\main\MYPROJECT\my_branch

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

在 Cleartool 中,我尝试:

checkout -branch \main\MYPROJECT\my_branch

我回来了:

cleartool: Error: Element pathname required.

我会认为 \main\MYPROJECT\ 是路径名。 所以相反,我尝试看看如果我只检查一个文件会发生什么:

checkout -unreserved ./\vob\path\to\changed\file\myFile.cpp@@\main\MYPROJECT\my_branch

它返回:

Checkout comments for "./\vob\path\to\changed\file\myFile.cpp":

并且无限期地挂起,并且永远不会签出该文件。

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

注意:我在 2009 年的“每个开发人员应该知道的基本 clearcase 概念是什么? ”中记录了 Git 和 ClearCase 之间的主要区别。

您不会“结帐”分支。
您列出了一组带有版本选择器的配置 select 规则,例如:

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

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

model 的问题在于分支路径:您需要记住从哪个分支开始myBranch
如果是来自/main ,上面的选择规则就足够了。
但如果它从another_branch开始,那就是:

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM