在Microsoft Shop中的Perforce
我们的开发商店当前使用Visual SourceSafe。我们都知道这种情况最终会(非常严重)发生,因此我们正在研究其他系统。首先是Perforce。有没有人有使用它并将其集成到Visual Studio(2003/2005/2008)中的经验?相对而言,它是否还好,或者它具有良好的功能,还很坚固?
解决方案
回答
我有使用Perforce衍生工具的经验。
从管理员的角度看似乎很难管理,但是从程序员的角度来看很好使用。
再说一次,我对命令行版本控制非常了解,所以不能说VS集成。
回答
我在最近的3个工作中使用了Perforce(我目前的工作是在使用Subversion,但我不太喜欢)。我是Perforce的忠实拥护者,而从SourceSafe迁移过来似乎就像是Nirvana。仅获得原子检入将对公司有很大的推动作用。否则,Perforce很快,它具有良好的工具,并且工作流很简单,可以进行合并和集成之类的事情。我全力推荐它。它可能不像最新的分布式VCS一样新颖,浮华,但老实说,我更喜欢客户机/服务器模型的速度,特别是如果我们正在与其他国家/地区的人联系较慢时。
Visual Studio集成非常好,但是有一些令人烦恼的问题。如果我们同时运行另一个Perforce客户端(例如P4V),则在显示当前签入/签出哪些文件方面,很难同步来自另一个客户端的更改。如果要正确同步项目,通常必须关闭Visual Studio并再次加载项目。但是,同步状态实际上并不会影响签入/签出/更新是否正常工作,这只是意味着我们可能会以为与处于Visual Studio时状态不同的状态就被误认为了。当Perforce客户端与数据库持续同步时,它们将始终显示正确的状态。
另外,有时我们会发现我们需要"离线"工作(由于某种原因未连接到Perforce数据库),而下次我们再次加载项目时,Perforce绑定可能会丢失,我们必须重新绑定每个项目单独。如果我们使用包含许多项目的解决方案,这可能会给我们带来极大的痛苦。首次签出解决方案时也是如此,在集成发生之前需要绑定到Perforce。
回答
我没有使用过Perforce,但是我发现在使用Visual Studio时,最好的选择之一是迁移到Team Foundation Server。
回答
Perforce与Visual Studio配合良好,包括"离线"模式,VS可以使本地文件可写并在以后与服务器同步。
我倾向于将Perforce GUI用于许多操作(提交,差异),只是因为它更快/更好,但是IDE签出内容的过程是无缝的。
在我的经验中,Perforce坚如磐石,如果成本不是关键因素,则最好的混合(代码+数据)版本控制产品应运而生。
我最大的抱怨是,Windows下服务器的性能远不如* nix下好,如果我们使用* nix服务器,则它们不正式支持不区分大小写的文件名(这意味着我们或者放弃支持,或者与文件系统错误有关,或者设置一个触发器,以阻止人们添加foo.cpp(如果Foo.cpp存在)。
我的另一个主要方面是,对于某些常见的操作,我们必须恢复到命令行,通常将函数一起管道传输。一个示例是获取目录中不受源代码控制的文件列表。
这两个问题都比产品更能反映公司的问题。 IMO Perforce知道它们在市场上处于领先地位,因此没有理由投资解决此类问题。
回答
在最近改用SVN之前,我们使用Perforce已有一年多的时间。尽管我确实喜欢这些工具(例如,视觉差异和合并以及管理位),但正如克里斯提到的那样,我们在绑定方面确实遇到了一些非常麻烦的问题。否则,VS集成是令人满意的。如果有的话,与Perforce相比,我发现使用SVN更加容易和直观。 TortoiseSVN(Windows资源管理器外壳程序扩展)非常棒,我们为VS集成购买了两个VisualSVN许可证。与Perforce相反,VisualSVN不能与MS SCC界面一起使用,而是直接与SVN客户端一起使用,我个人认为这是一个优势。 Perforce确实支持许多其他操作系统,但是我们的非Windows开发人员也对SVN感到更满意。如果我不得不再次选择,我会坚持使用SVN。
回答
Sourcegear Vault是将VSS用户迁移到的最佳SCM。
而且它便宜。
回答
我个人使用过,并管理了几年从事Perforce&Visual Studio的团队。它工作得很好。可以有几个绑定/重新绑定的陷阱,但是这些通常很容易整理出Perforce知识库,并且/或者邮件列表是一个很好的信息来源。
使用命令行,可视客户端和VS IDe从来没有任何问题,同时刷新通常可以正常工作。
回答
我们在公司中广泛使用perforce,包括分支到非常大的项目,在Sun Solaris和Windows上进行开发以及120多个用户。
它非常快,并且Windows GUI(P4V)非常好。 Explorer集成是可以接受的。我已禁用VS集成,并使用宏(例如调用" p4 edit")来编辑/还原/比较文件。 VS集成对于大型项目非常烦人(我们的解决方案有130多个项目),但可能适用于较小的项目。
回答
很难将每位用户900美元称为一项好功能。