我一直使用Subversion或CVS进行版本控制,它使用"合并"方法.我的一个朋友对Perforce赞不绝口,它的变更清单和结账方法有多棒.
虽然我确信很多都归结为经验和个人偏好,但我想知道是否有任何研究已经完成哪种版本控制方法更有效?
编辑:澄清一下,我知道Perforce和SVN都允许锁定和合并,但SVN'鼓励'一种自由的编辑和合并方法,而据我所知,Perforce鼓励一种checkout-checkin方法.
合并更有效率.原因很简单,同时对同一文件的更改很常见,而merge允许您从中恢复.相比之下,单一结账可以防止一点点额外的工作,但这样做会导致调度效率低下.通常,将两个更改合并到同一文件(例如,分钟)需要很短的时间,而对文件进行更改需要花费大量时间(例如,数小时或数天),以防止访问编辑文件是一个巨大的低效率.
请注意,Perforce不强制结帐方法,它允许并发签出(相当于合并).