我正在寻找一些关于可用于在 Perforce 仓库中创建单独开发分支的方法的优点和缺点的反馈。如果我理解正确的话,有两种方法可以处理这个问题。第一个是创建一个私有分支,它是您正在处理的分支的完整副本。该分支将完全独立,并将您的更改与目标分支完全隔离。
我听说推荐的另一种方法是稀疏分支。它描述于实用的强制力 http://oreilly.com/catalog/9780596101855/(第 9 章,第 242 页)。这将创建一个分支,但仅包含您需要编辑的文件。然后,您可以将目标分支客户端视图与此稀疏开发分支客户端视图重叠。
这两种方法都需要程序员执行一些集成工作,以便在目标分支中获得更改。 Private Branch 方法似乎需要更多的额外内存才能创建整个分支的副本。然而,Perforce 文档指出,它在这种情况下执行“惰性复制”。
集成还使 Perforce 能够执行文件的“延迟复制”。当你分支时
文件时,服务器实际上并不保存文件的两个副本 - 它仅保存源文件和数据库中的指针记录已发生到目标文件的分支的事实。惰性复制使分支成为一种低开销的操作;服务器不必跟踪文件的重复副本。
这使得稀疏分支方法看起来只是在流程中添加了人为错误的可能性,例如,开发人员可能开始处理他们没有添加到稀疏分支的文件,然后意外地将更改更新为破坏构建的目标分支。但是,稀疏分支功能的存在是有原因的。任何关于它为何存在以及为什么我应该在完整的私有分支上使用它(反之亦然)的反馈将不胜感激。
正如您从文档空间中指出的那样,这并不是真正的问题。速度虽然。同步整个开发树可能需要很长时间。整合回来也需要一段时间。如果您只需要树的一个分支,那么这两个操作都会快得多。
正如您已经说过的,可能会发生人为错误,但如果您制定分支规范,它可以帮助减轻一些潜在的错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)