6

我们的开发商店目前使用 Visual SourceSafe。我们都知道这会如何结束(很糟糕),所以我们正在调查其他系统。首先是 Perforce。有没有人有使用它并将其集成到 Visual Studio (2003/2005/2008) 的经验?它是否和其他任何产品一样好,或者相对而言它是否具有良好的功能?

4

9 回答 9

12

我在最近的 3 份工作中使用了 Perforce(我目前的工作使用的是 Subversion,我几乎不喜欢它。)我是 Perforce 的忠实粉丝,从 SourceSafe 迁移它看起来就像 Nirvana。只需进行原子签入将对您的公司产生巨大的推动作用。否则,Perforce 速度很快,它有很好的工具,而且工作流程很简单,可以做合并和集成之类的事情。我全心全意地推荐它。它可能不像最新的分布式 VCS 那样全新和华丽,但老实说,我更喜欢客户端/服务器模型,因为它的速度,特别是如果你正在与其他国家的人一起工作,这些人可能与你的连接速度很慢。

Visual Studio 的集成非常好,但它有一些恼人的问题。如果您同时运行另一个 Perforce 客户端(如 P4V),那么在显示当前签入/签出哪些文件方面,它在保持来自另一个客户端的更改同步方面非常糟糕。如果希望正确同步,通常必须关闭 Visual Studio 并再次加载项目。但是,同步状态实际上并不会影响签入/签出/更新的正常工作,它只是意味着您可能会误以为某些东西处于与您在 Visual Studio 中实际不同的状态。Perforce 客户端将始终显示正确的状态,因为它们不断与数据库同步。

此外,有时您会发现您需要“离线”工作(由于某种原因未连接到 Perforce 数据库),当您下次再次加载项目时,您的 Perforce 绑定可能会丢失,您将不得不重新绑定每个项目单独。如果您使用包含许多项目的解决方案,这可能是一个很大的麻烦。当您第一次签出解决方案时也是如此,在集成发生之前需要绑定到 Perforce。

于 2008-08-25T20:26:40.023 回答
5

很难说每位用户 900 美元是一项好功能

于 2008-10-01T14:22:29.803 回答
4

在最近切换到 SVN 之前,我们使用 Perforce 已经一年多了。虽然我确实喜欢这些工具(例如,视觉差异和合并以及管理位),但正如 Chris 所提到的,我们在绑定方面遇到了一些非常烦人的问题;否则,VS 集成是令人满意的。如果有的话,我发现使用 SVN 比使用 Perforce 更容易、更直观。TortoiseSVN(Windows Explorer shell 扩展)很棒,我们购买了几个 VisualSVN 许可证用于 VS 集成。与 Perforce 不同的是,VisualSVN 不能与 MS SCC 接口一起工作,而是直接与 SVN 客户端一起工作,我个人认为这是一个优势。Perforce 确实支持许多其他操作系统,但我们的非 Windows 开发人员也对 SVN 感到更舒服。如果我不得不再次选择,我会坚持使用 SVN。

于 2008-08-25T20:47:19.380 回答
3

Sourcegear Vault 是将 VSS 用户迁移到的最佳 SCM。

而且它便宜。

于 2008-08-26T04:11:32.883 回答
1

Perforce 可以在 Visual Studio 中正常工作,包括“离线”模式,其中 VS 将使您的本地文件可写并稍后与服务器同步。

我倾向于将 Perforce GUI 用于许多操作(提交、差异),只是因为它更快/更好,但 IDE 的检查过程是无缝的。

根据我的经验,Perforce 是坚如磐石的,如果成本不是一个因素的话,最好的混合(代码+数据)版本控制产品。

我最大的抱怨是 Windows 下的服务器性能远不如 *nix 下的好,如果你使用的是 *nix 服务器,它们不正式支持不区分大小写的文件名选项(这意味着你要么放弃支持与文件系统错误有关,或者设置一个触发器,如果​​ Foo.cpp 存在,则阻止人们添加 foo.cpp)。

我的另一个主要缺点是,对于一些常见的操作,您必须恢复到命令行,通常将函数连接在一起。一个示例是获取不在源代码控制下的目录中的文件列表。

不过,这两个问题都更多地反映在公司而不是产品上。IMO Perforce 知道他们处于市场顶端,因此认为没有理由投资修复此类问题。

于 2008-08-25T20:33:03.220 回答
0

我有使用 Perforce 衍生产品的经验。

从管理员的角度来看,这似乎很难管理,但从程序员的角度来看,它很好用。

再说一次,我对命令行版本控制很感兴趣,所以不能说 VS 集成。

于 2008-08-25T20:22:51.483 回答
0

几年来,我亲自使用并管理了许多从事 Perforce 和 Visual Studio 的团队。它工作得很好。可能有几个绑定/重新绑定的陷阱,但这些通常很容易解决 - Perforce 知识库和/或邮件列表是一个很好的信息来源。

同时使用命令行、可视客户端和 VS IDe 从来没有任何问题 - 刷新通常可以正常工作。

于 2008-08-28T21:27:26.823 回答
0

我们在公司中广泛使用 perforce,包括大型项目的分支、在 Sun Solaris 和 Windows 上的开发以及 120 多个用户。

它非常快,而且 Windows GUI (P4V) 非常好。Explorer 集成是可以接受的。我已禁用 VS 集成,并使用宏(调用 eg p4 edit)来编辑/恢复/差异文件。VS 集成对于大型项目非常烦人(我们的解决方案有超过 130 个项目),但可能适用于较小的项目。

于 2008-09-18T19:45:47.550 回答
-1

我没有使用过 Perforce,但我发现迁移到 Team Foundation Server 是使用 Visual Studio 时的最佳选择之一。

于 2008-08-25T20:30:31.963 回答