我们正在从 clearcase
迁移至 perforce
我对分支有疑问。
在 clearcase
一旦我分支(比如 my_branch
),我可以继续提交对文件的增量更改(比如 xyz.cpp
)而不必担心 main
.
element * CHECKEDOUT
element * .../my_branch/LATEST
element * /main/LATEST -mkbranch my_branch
我可以继续 checkout 和 checkin
xyz.cpp
我想进入多少次 my_branch
.假设我进行了 23 次签到,我觉得第 21 次签到是需要进入 main
的一次。 , 我可以使用 ct get
进行第 21 次签到并将其合并到 main
.我可以对
xyz2.cpp
中的此分支中的任意数量的文件(比如 xyz3.cpp
、clearcase
...)执行此操作.我不确定如何在 perforce
中执行此操作.我如何在
perforce
中复制此过程?我看到p4 submit
但它进入 main
.基本上,我想继续保存增量更改,并在将它们合并到 main
之前根据需要为任意数量的文件检索它们。 .
最佳答案
您可以使用几乎相同的过程,但当然机制不同。
第 1 步:创建您的新分支
假设您在 Perforce 中有一个位于 //depot/project/main
的主要分支。 . (该路径采用 Perforce depot 语法。如果您需要,我可以添加指向相关文档的链接。)
我将定义一个分支映射来捕获有关主分支和我的新分支如何相互关联的信息。p4 branch my_branch
在分支图中,我将添加此 View ://depot/project/main/... //depot/project/my_branch/...
现在我将创建分支:p4 populate -b my_branch
第二步:使用新分支
我将创建一个包含两个分支的工作区。我不会详细介绍所有细节,但我需要一个看起来像这样的工作区 View ://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_branch
至 main
.如果我想合并我运行的所有内容: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
关于version-control - clearcase 强制执行 : how to branch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277620/