ClearCase 通用工作流程示例

ClearCase Common Workflow Example

我正在使用 ClearCase,我对这个工具还很陌生。与其他源代码控制相比,我发现它令人困惑和麻烦,例如 git 和 svn。我想知道是否有人可以完成典型的工作流程。所以现在我们有一个主要的集成流,然后是一个子流,然后是每个项目的子流。

用例 1:

我签入了一个文件,希望每个人都能得到更改。我必须首先添加到 ClearCase 或签入,然后我必须交付到我上方的每个流(两次),然后我将创建一个基线并执行一个 rebase 以将更改向下级联。这是正确的吗?

用例 2:

如果我忘记了我所做的更改,是否有一种机制可以查看我修改的所有文件?并立即检查它们。

用例 3:

如果我想修改一个文件,我是否总是需要签出它?

用例 4:

如果我移动了一个文件,是否必须将其从透明盒中移除然后重新添加?或者如果我只想重命名包或文件怎么办?

用例 5:

现在我在主集成流上有一个动态视图,然后是中间的子视图。如果我只处理一个流,是否有必要查看所有其他流?

我只是想有效地使用clear case,但它似乎完成了简单的任务,有很多开销。谁能就如何简化体验提供任何提示或建议?

谢谢

您可以查看 main differences between Git and ClearCase here,以帮助您入门。

Use Case 1:

是的,这就是为什么建议尽可能使用一个流,而不是原生的“每个开发人员一个流”模型 (that I denounced here)

Use Case 2:

您可以使用一些基于 lsco | cias in this answer.
的命令 我在“Recursive checkin using Clearcase

中详细介绍了这种方法
ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
ct lsco -r -cvi -fmt "unco -rm %n\n" | ct

Use Case 3:

是的,您需要在修改和签入之前签出文件,除非您直接在快照视图中将其修改为 ; or in a dynamic view as an eclipsed file
例如,参见“Eclipse not allowing to modify files without checkout in ClearCase”作为该问题的说明。

Use Case 4:

cleartool mv will do that for you (as I mentioned here), 但您需要先检出父文件夹。

The directory where the element to be moved or renamed resides must be checked out. The destination directory must also be checked out; this directory may be the same as the source directory.

Use Case 5:

If I am just working on one stream, is it necessary to have views on all the other streams?

不,这些视图不必启动甚至创建。