如何在 Clearcase 中检查一个分支?
How to checkout a branch in Clearcase?
我一直在使用 git 我的整个开发生命,并且最近被分配到一个过时的源代码库,不幸的是它仍在使用 IBM Clearcase for Windows 进行版本控制。我一直在努力掌握基础知识,主要是因为有很多东西没有明确类似于 git,而且对 Clearcase 的支持不多,因为几乎每个企业都不再使用它。
我的主要问题是我不知道如何结账到不同的分支。我已经创建了一个 VOB 的快照视图(所以在 git 术语中,从远程克隆的本地回购协议),我相信我在 master 分支上。我正在 Rational ClearCase Explorer 中查看它。然后我打开“类型资源管理器”,select 我正在使用的 VOB,以及 select“分支类型”。从这里我可以看到已创建的每个分支。
假设我想查看分支“my_branch”。在此 Clearcase 资源管理器中右键单击时,我没有从上下文菜单中看到任何合适的 selection。唯一的选项是“克隆”、“删除”、“重命名”和“属性”。从 cleartool,我 运行 命令
find ./ -branch 'brtype(my_branch)' -print
它 returns 以下内容:
./\vob\path\to\changed\file\myFile.cpp@@\main\MYPROJECT\my_branch
那是我想要的分支,我相信这个命令告诉我的是 my_branch 与我当前的分支相比已经改变 myFile.cpp。我想看看 myFile.cpp 在 my_branch 上与 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
它returns:
Checkout comments for "./\vob\path\to\changed\file\myFile.cpp":
并无限期挂起,永远不会检出该文件。
我到底做错了什么?我到底该如何检查我可以在本地视图中看到的这个分支?任何帮助都是有价值和感激的,因为 Clearcase 如今已成为过去的神秘遗迹。
注意:我在 2009 年的“What are the basic clearcase concepts every developer should know?”中记录了 Git 和 ClearCase 之间的主要区别。
您没有“签出”分支。
您列出了一组 config select rules 版本为 select 或,例如:
element * CHECKEDOUT
element * .../mybranch/LATEST
element * /main/LATEST –mkbranch branch-type-name
这将 select myBranch
上的任何最新版本(除非所述版本正在修改,状态为“CHECKEDOUT
”)。
或者,如果该特定元素(文件或文件夹)还没有 myBranch
版本,则为 main 的最新版本(自 every version starts with /main/0
)。
那个模型的问题在分支路径:你需要记住你从哪个分支开始myBranch
。
如果是来自/main
,上面的selection规则就够了。
但是如果它从 another_branch
开始,那就是:
element * CHECKEDOUT
element * .../mybranch/LATEST
element * .../another_branch/LATEST -mkbranch mybranch
element * /main/LATEST -mkbranch mybranch
规则(用于动态或快照视图)从上到下阅读:第一个适用的将是视图用来显示 file/folder。
注意:您不能只签出一个文件。
您必须检出其父文件夹(和 parent/parent...),以便该文件夹显示正确的文件 list(然后您可以从中检出文件)。
这与Git很不一样,显然,后者不关心文件夹,只关心内容(树内容或文件content/blob)。
因此您需要一组适用于 VOB 元素的规则,以便查看您的单个文件(因为该组规则将 selected parent 个文件夹,供您访问文件的正确版本)。
我一直在使用 git 我的整个开发生命,并且最近被分配到一个过时的源代码库,不幸的是它仍在使用 IBM Clearcase for Windows 进行版本控制。我一直在努力掌握基础知识,主要是因为有很多东西没有明确类似于 git,而且对 Clearcase 的支持不多,因为几乎每个企业都不再使用它。
我的主要问题是我不知道如何结账到不同的分支。我已经创建了一个 VOB 的快照视图(所以在 git 术语中,从远程克隆的本地回购协议),我相信我在 master 分支上。我正在 Rational ClearCase Explorer 中查看它。然后我打开“类型资源管理器”,select 我正在使用的 VOB,以及 select“分支类型”。从这里我可以看到已创建的每个分支。
假设我想查看分支“my_branch”。在此 Clearcase 资源管理器中右键单击时,我没有从上下文菜单中看到任何合适的 selection。唯一的选项是“克隆”、“删除”、“重命名”和“属性”。从 cleartool,我 运行 命令
find ./ -branch 'brtype(my_branch)' -print
它 returns 以下内容:
./\vob\path\to\changed\file\myFile.cpp@@\main\MYPROJECT\my_branch
那是我想要的分支,我相信这个命令告诉我的是 my_branch 与我当前的分支相比已经改变 myFile.cpp。我想看看 myFile.cpp 在 my_branch 上与 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
它returns:
Checkout comments for "./\vob\path\to\changed\file\myFile.cpp":
并无限期挂起,永远不会检出该文件。
我到底做错了什么?我到底该如何检查我可以在本地视图中看到的这个分支?任何帮助都是有价值和感激的,因为 Clearcase 如今已成为过去的神秘遗迹。
注意:我在 2009 年的“What are the basic clearcase concepts every developer should know?”中记录了 Git 和 ClearCase 之间的主要区别。
您没有“签出”分支。
您列出了一组 config select rules 版本为 select 或,例如:
element * CHECKEDOUT
element * .../mybranch/LATEST
element * /main/LATEST –mkbranch branch-type-name
这将 select myBranch
上的任何最新版本(除非所述版本正在修改,状态为“CHECKEDOUT
”)。
或者,如果该特定元素(文件或文件夹)还没有 myBranch
版本,则为 main 的最新版本(自 every version starts with /main/0
)。
那个模型的问题在分支路径:你需要记住你从哪个分支开始myBranch
。
如果是来自/main
,上面的selection规则就够了。
但是如果它从 another_branch
开始,那就是:
element * CHECKEDOUT
element * .../mybranch/LATEST
element * .../another_branch/LATEST -mkbranch mybranch
element * /main/LATEST -mkbranch mybranch
规则(用于动态或快照视图)从上到下阅读:第一个适用的将是视图用来显示 file/folder。
注意:您不能只签出一个文件。
您必须检出其父文件夹(和 parent/parent...),以便该文件夹显示正确的文件 list(然后您可以从中检出文件)。
这与Git很不一样,显然,后者不关心文件夹,只关心内容(树内容或文件content/blob)。
因此您需要一组适用于 VOB 元素的规则,以便查看您的单个文件(因为该组规则将 selected parent 个文件夹,供您访问文件的正确版本)。