5

我们正在迁移clearcaseperforce我对分支有疑问。

clearcase一旦我分支(比如说)出来,我就my_branch可以继续提交对文件(比如说xyz.cpp)的增量更改,而不用担心main.

element * CHECKEDOUT
element * .../my_branch/LATEST
element * /main/LATEST -mkbranch my_branch

我可以根据需要继续签出和签xyz.cppmy_branch。假设我进行了 23 次签入,并且我觉得第 21 次签入是需要进入的main,我可以使用第 21 次签入ct get并将其合并到main.

我可以对xyz2.cpp. 我不确定如何在.xyz3.cppclearcaseperforce

我如何复制这个过程perforce?我明白p4 submit了,但它进入main. 基本上,我想继续保存增量更改,并根据需要为任意数量的文件检索它们,然后再将它们合并到main.

4

2 回答 2

5

您可以使用几乎相同的过程,但当然机制是不同的。

第 1 步:创建新分支

假设您在 Perforce 中有一个主分支,位于//depot/project/main. (该路径采用 Perforce depot 语法。如果您需要,我可以添加指向相关文档的链接。)

我将定义一个分支图来捕获有关主分支和我的新分支如何相互关联的信息。

p4 branch my_branch

在分支图中,我将添加此视图:

//depot/project/main/... //depot/project/my_branch/...

现在我将创建分支:

p4 populate -b my_branch

第 2 步:使用新分支

我将创建一个包含两个分支的工作区。我不会详细介绍所有细节,但我需要一个看起来像这样的工作区视图:

//depot/project/main/... //my_ws/main/...

//depot/project/my_branch/... //my_ws/my_branch/...

现在我将填充工作区:

p4 sync

请注意,我将在我的工作区中拥有两个分支的副本。现在我将检查并在 my_branch 上进行更改:

p4 edit my_branch/foo.c

p4 submit -d "my_branch changes

我可以根据需要进行尽可能多的更改my_branch

第3步:合并到主

好的,现在我准备合并my_branchmain. 如果我想合并我运行的所有内容:

p4 integ -r -b my_branch

如果我只想合并一个文件:

p4 integ -r -b my_branch //depot/project/main/foo.c

请注意,我指定了目标文件。

如果我只想合并单个文件的特定修订:

p4 integ -r -b my_branch //depot/project/main/foo.c#21

于 2012-11-07T22:11:07.593 回答
1

最接近的cleartool get将是p4 sync

 p4 sync file.c#4

将 file.c 的第四个修订版复制到客户端工作区。
如果该文件已在客户端工作区中打开,或者如果该文件的最新版本存在于客户端工作区中,则不会复制该文件。

之后p4 submit仍然是一个明显的选择,但更改列表中的所有文件都提交到软件仓库,并且打开以进行编辑、添加和分支的文件被关闭。

于 2012-11-07T20:44:45.793 回答