我正在寻找一些有关在Perforce仓库中创建各个开发分支的方法的优缺点的反馈。如果我理解正确,有两种处理方法。首先是创建一个专用分支,它是您正在开发的分支的完整副本。该分支将完全独立并完全隔离目标分支上的更改。Perforce开发分支 - 稀疏分支与私有分支
我听说过的另一种方法是推荐使用稀疏分支。它在Practical Perforce(第9章,第242页)中有描述。这会创建一个分支,但仅限于需要编辑的文件。然后,您将目标分支客户端视图与此稀疏开发分支客户端视图重叠。
这两种方法都需要程序员执行一些集成工作,以便在目标分支中获得更改。 Private Branch方法似乎需要更多的额外内存才能创建整个分支的副本。但是,Perforce文档声明它在这种情况下执行“懒惰拷贝”。
集成还使Perforce能够执行文件的“延迟复制”。当您分支 文件时,服务器实际上并不拥有文件的两个副本 - 它仅保存源文件,数据库中的指针记录了发生到目标文件的分支的事实。延迟副本使分支成为低开销操作;服务器不必跟踪文件的重复副本。
这使得它看起来像稀疏分支方法只是增加了人为错误的可能性,例如,开发人员可能会开始工作的文件,他们没有添加到稀疏分支和那么意外更新了对打破构建的目标分支的更改。但是,Sparse分支功能存在是有原因的。任何反馈意见,为什么它存在,为什么我应该使用它在一个完整的私人分支(反之亦然)将不胜感激。
客户端磁盘空间上的优点。我忘了指出,因为我的机器上有空间,但在大多数情况下它仍然有效。 – Fostah 2009-04-08 13:45:49