在子目录中执行分支



作为一个新的force用户,我必须做出一个决定,这很可能是错误的。

我的客户有以下仓库结构:

//depot/dir_a
//depot/dir_b  etc.

dir_a和dir_b没有描述分支,它们是纯目录。整个项目只是填充//depot。

我不得不从这里创建一个分支,并试图建立一个类似SVN或git标准树的东西:

//depot/master/dir_a
//depot/master/dir_b
//depot/branches/1.0/dir_a
//depot/branches/1.0/dir_b

在特定的时刻,我不允许改变旧的结构,只能添加东西。因此,我一直以

结尾
//depot/dir_a
//depot/dir_b
//depot/branches/1.0/dir_a
//depot/branches/1.0/dir_b

现在,我认识到这里有一些陷阱:例如,在//depot和//depot/branches/1.0之间合并似乎很重要(后者是一个子目录,可能是非正式的预先存在的"根"分支的某种"部分")。

我怎么能解决这个问题(提供我现在允许创建一个'主'和移动旧的东西到它)?

如果你还没有开始创建"master"one_answers"branches"等,我就这样做:

p4 integ //depot/... //depot/master/...
p4 delete //depot/...
p4 submit

现在所有的东西都在"master"目录下,你可以继续前进了(只要忽略新目录结构之外的所有被删除的文件)。

如果你已经将内容放入"master"one_answers"branches"中,那么你将不得不围绕它们工作,这并不难,但需要一点思考,所以你不会最终创建"master/master"等。比如:

p4 delete //depot/...
p4 revert //depot/master/... //depot/branches/...
p4 integ //depot/... //depot/master/...
p4 revert //depot/master/master/... //depot/master/branches/...
p4 submit

在任何情况下,你都想把你的工作移到"master"目录下,因为正如你所注意到的,在"master"one_answers"branches/whatever"之间合并比从根目录合并到它下面的东西更容易。

最新更新