我正在寻找一些关于可用于在 Perforce 库中创建单个开发分支的方法的优缺点的反馈。如果我理解正确,有两种处理方法。首先是创建一个私有分支,它是您正在处理的分支的完整副本。该分支将完全独立,并将您的更改与目标分支完全隔离。
我听说过的另一种推荐方法是稀疏分支。它在Practical Perforce(第 9 章,第 242 页)中有描述。这将创建一个分支,但仅包含您需要编辑的文件。然后,您将目标分支客户端视图与此稀疏开发分支客户端视图重叠。
这两种方法都需要程序员执行一些集成工作才能在目标分支中进行更改。Private Branch 方法似乎需要更多的额外内存才能创建整个分支的副本。但是,Perforce 文档声明它在这种情况下执行“惰性复制”。
集成还使 Perforce 能够执行文件的“惰性复制”。当您分支文件时,服务器实际上并没有保存文件的两个副本——它只保存源文件,并且数据库中的指针记录了到目标文件的分支已经发生的事实。惰性副本使分支成为低开销的操作;服务器不必跟踪文件的重复副本。
这使得 Sparse 分支方法看起来只是在流程中增加了人为错误的可能性,例如,开发人员可能开始处理他们没有添加到 Sparse 分支的文件,然后不小心将更改更新为破坏构建的目标分支。但是,稀疏分支功能的存在是有原因的。任何关于它存在的原因以及为什么我应该在完整的私有分支上使用它(反之亦然)的反馈将不胜感激。