由于多种原因,Perforce(商业/封闭源代码,集中式)是行业标准。
- 这是一种商业产品,这意味着它具有商业支持。开源项目可能有资格获得免费许可证(减去技术支持)。
- 它很好地支持工作区,从而允许非常灵活的源和资产目录布局。
- 它很好地支持变更列表。
- 您可以看到谁在做什么。与其他开发项目相比,游戏具有大量快速变化的二进制文件(资产)。在大多数情况下,这些都是不可合并的,因此跟踪谁在什么地方/什么地方/什么时候很关键。Subversion和DSCC客户端有意避免使用此技术,但是在某些应用程序中它非常有用。
- 它支持巨大的代码/资产基础。它并没有重复的数据存储在客户机上,这是重要的,当树的子视图是一个几十演出。
话虽如此,几乎每天都在痛苦地发现Perforce认为自己在行业中的地位没有受到威胁。他们的可视化工具(包括P4V和P4SCC(与Visual Studio集成))运行缓慢且有漏洞,而后者因冻结Visual Studio而无法正常使用而闻名。AnkhSVN比Perforce领先几英里。
xan的评论:但是,值得注意的是,它们的合并工具P4Merge(用于差异和合并)非常出色,并且远远优于Tortoise Merge之类的工具。令人惊讶的是,该组件作为P4 Visual Tools软件包的一部分免费提供。
slicedlime的评论:Perforce的另一个缺点是其中的分支会带来巨大的痛苦,尤其是当您有大树时。几乎所有其他vc都更擅长分支和合并。不过,通常要为上述优势付出很小的代价。
鱼卵评论:Perforce非常健谈。没有服务器就没有太多事情了。最值得注意的是,您需要服务器才能进行开放式编辑,这意味着如果您打算断开与服务器的连接,则需要跳过几个步骤。
jrista的评论:作为Perforce的日常用户已有两年多了,拥有超过100人的扩展的开发和质量工程团队,我对此已经非常熟悉。尽管它是一个体面的源代码控制系统,但确实存在缺点,那些评估SCC系统的人应该意识到:
- 正如其他人所提到的那样,分支/集成特别麻烦并且难以完成。您拥有不可思议的控制量,但这是以过度复杂为代价的。另一方面,视觉合并工具是其中一种,它提供了一个漂亮的基于“文件”的三文件合并视图。Perforce确实提供了分支路径的一些图形可视化效果(称为修订图),但是可视化的方式通常使该工具变得毫无用处。如果您只需要查看一个或几个文件的非常短的时间段,则可能会有用...更多,而且几乎不可能浏览修订图。
- Perforce也不是一个非常有效的工具,因为几乎所有文件操作都需要复制文件和数据:分支,标记,更改列表等。这里没有稀疏或轻量级的标记或分支。如果您不怕使用大量磁盘空间来跟踪您的更改,那么perforce可能会为您提供满意的服务。如果没有,我会寻找另一个工具。
- Perforce利用了工作空间,但是这些工作有时会令人沮丧,因为perforce在工作空间中缓存所有状态,而不是使用磁盘上的实际文件来确定某些状态。这通常会导致文件无法同步,因为您的工作区说它们是最新的,而无论出于何种原因,磁盘上的物理文件确实不是最新的。
- 最后的烦恼是,Perforce在您的网络上相当残酷。这是一个非常健谈的程序,并且消耗大量带宽。任何网络连接都会丢失,并且在恢复连接之前,您将面临无法对源代码控制文件进行任何操作的高风险。到目前为止,我还没有发现可以在Perforce中离线执行的活动。