我有一个太大的文件,应该重构为两个较小的文件。在Perforce中执行此操作的最佳方法是什么,以保持与原始文件的关系?
我正在添加两个新文件,并在这种情况下删除原始文件,但我希望有一些解决此问题的一般解决方案。
我认为最简单的情况是添加一个包含原始内容子集的新文件,并从原始文件中删除该内容,但保留原位(以后删除它很简单)。
如果可以在单个更改列表中完成操作以避免任何会破坏构建的签名,那将是最好的。
答案 0 :(得分:11)
这不能在一次检查中完成,但它肯定可以在不“破坏构建”的情况下完成。假设您要将bigFile.cs
分为smallFile1.cs
和smallFile2.cs
。首先将大文件集成到两个小文件中并提交它们。
p4 integrate bigFile.cs smallFile1.cs p4 integrate bigFile.cs smallFile2.cs p4 submit
您现在项目目录中有两个额外的文件,但它们没有任何损害。现在查看smallFile1.cs
和smallFile2.cs
以及您的项目文件。添加对较小文件的引用,删除对big的引用,相应地编辑小文件等。最后,将bigFile.cs
标记为删除并提交更改。
您现在已将大文件拆分为两个较小的文件,较小的文件历史记录将显示其大文件来源。
答案 1 :(得分:6)
您可以使用integrate命令。
当您对文件进行更改时 需要传播到另一个 文件,用p4启动进程 集成。
命令的简单形式是
p4 integrate fromFile toFile
因此,我会执行以下任务:
使用此方法,您的文件历史记录信息将保留在未来所有文件修订版中。
答案 2 :(得分:4)
这实际上可以完成一次签入。步骤如下:
p4 edit
完整的文件历史记录显示在修订图和延时视图中。我可以看到跳过中间提交的唯一缺点是操作类型从“集成”变为“添加”。因此,其他人可能没有意识到文件历史记录还有更多内容。
我认为我稍微喜欢双签入流程。