使用 Perforce 代替 Subversion 有什么好处?

2024-02-21

我的团队使用 SVN 已有几年了。我们现在可以选择切换到 Perforce。

做出这样的转变会有什么好处(和陷阱)?


  • P4 keeps track of your working copy on the server. This means that
    1. 大型工作副本的处理速度要快得多。我曾经有一个大型 SVN 项目,一个简单的更新需要 15 分钟,因为它必须创建本地工作副本树(数千个文件夹)。文件访问速度慢。 P4 将有关工作副本的信息存储在数据库中,因此任何操作总是近乎即时的。
    2. 如果你乱搞你的文件并且不告诉服务器,你就有麻烦了!您不能只删除文件 - 您必须使用 P4 客户端删除文件,以便服务器知道。请注意,如果您在本地删除文件,则在连续更新时不会再次下载该文件,因为服务器认为您已经拥有它!当发生很多这种情况并且我最终完全不同步时,我通常不得不清理本地副本并再次下载,这可能非常耗时。你must对此要小心。
  • Explorer shell 扩展客户端(想想 TortoiseSVN)很糟糕并且完全无法使用。
  • 有两个 GUI 客户端应用程序提供了最好的功能:P4Win 和 P4V,其中 P4V 更新且更易于使用,但功能不那么丰富。
  • 有 Visual Studio 和 Eclipse 插件,虽然没有很多高级功能,但运行效果相对较好。
  • 一般来说,P4 提供的功能比 SVN 少得多,有时甚至令人困惑。
  • 工作副本定义很好且灵活。我相信 P4 在这里优于 SVN:您可以定义工作副本文件夹的掩码并创建各种奇怪的树,因此您只将您想要的内容下载到您想要的位置,而无需手动进行多次签出。当我的服务器上有千兆字节的内容并且只需要其中的特定子集时,这非常方便。我在类似的情况下使用了 SVN,但麻烦得多。
  • P4 下的分支是……奇怪的。分支集和不同类型的分支以及令人困惑的用户界面。不幸的是,我不记得这方面的太多细节。

除此之外,它非常标准。

我建议您保留 SVN,除非您处理庞大的代码库或讨厌 .svn 文件夹乱七八糟地乱七八糟的文件系统。 SVN+TortoiseSVN 对于大多数情况来说要舒服得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Perforce 代替 Subversion 有什么好处? 的相关文章

  • 如何停止 IntelliJ 搜索传入的 SVN 更改?

    我的 IntelliJ IDE 12 1 4 定期搜索连接的 SVN 存储库中的传入更改 当我第一次安装 IntelliJ 时 不会自动搜索这些传入更改 如果我没记错的话 我必须单击 更改 选项卡中 传入 子选项卡中的刷新按钮并设置一些选项
  • 如何在powershell中使用SVN提交

    我想在我的 PowerShell 脚本中使用 SVN 命令 我知道我需要将 SVN 可执行文件声明为变量 但之后我想提交一个已声明为变量的文件 并且我想要给出的提交消息在文件中指定 svnExe C Program Files Tortoi
  • Subversion:暂存文件以显式提交?

    我已经非常习惯 git 的方式 即必须接触要提交的每个文件 并且在执行此操作时仔细检查差异 现在在工作中我必须使用 svn 并且我总是不小心提交一些东西 有没有办法让 subversion 的行为像 git 一样 因为我必须明确告诉每个文件
  • 在应用程序版本中使用 svn 修订号

    在 VS2010 解决方案 不是 NET 中 我希望将 svn 修订号作为应用程序版本的一部分包含在内 我们目前不使用 makefile 仅使用 VS 解决方案 项目设置 我想在编译时获取工作副本修订号 将其存储到变量中 以便稍后在代码中使
  • git 存储库中的提交次数

    我的一个为期 5 个月的项目即将结束 作为毫无意义的统计数据的粉丝 我想知道自存储库启动以来已经进行了多少次提交 我怎样才能发现这一点 Notes 我知道没有one存储库 我只对本地版本感兴趣 这在颠覆中是微不足道的 因为修订标识符 似乎是
  • 贾瓦尔 (JNI) 不可用

    Windows 7 64 位 Eclipse Indigo SlickSVN 1 6 17 均已安装 并带有在 Windows 中输入的库的路径 为什么我收到消息 JAVAHL JNI Not available 以及为什么 Eclipse
  • 构建版本与修订号

    我有一个使用 subversion 进行源代码控制的 asp net C 应用程序 我的应用程序会在每个构建上自动增加其 AssembleVersion 和 AssemblyFileVersion 这就像一个魅力 并在网站的管理端显示构建号
  • 无法加载文件或程序集“SharpSvn”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚在这里下载了 64 位版本的 SharpSVNthe link http sharpsvn open collab net files documents 180 5570 SSvn 1 7002 1998 x64 zip 当我运行我
  • 如何使用 git-svn 使 svn:external 保持最新?

    将我的存储库视为 SVN 存储库 我得到 svn co http myrepo foo trunk foo foo bar baz gt http myrepo baz trunk 将其视为 Git 存储库 我得到 git svn clon
  • 从java程序调用SVN命令

    我想从 java 程序调用 SVN 命令 update commit 有什么帮助吗 SVN 乌龟SVN 环境 java程序将在jBoss服务器内运行 从应用程序服务器内使用 GUI SVN 客户端是一个非常非常糟糕的主意 而Tortoise
  • SVN 结账时出现分段错误:11

    我想从 code google com 获取项目 我搜索了 google 发现 svn 是随 Mac OS 一起提供的 我们只需要在终端中输入命令即可 这是该项目 svn checkout http piccolo2d googlecode
  • Python Subversion 包装器库

    在颠覆的文档 http svnbook red bean com en 1 7 svn developer usingapi html svn developer usingapi otherlangs有一个从 Python 使用 Subv
  • 清理 Subversion 存储库的最佳方法是什么?

    我有一个不断增长的存储库 其中包含十几个我使用 TortoiseSVN 维护的项目 因为我对此完全陌生 还不知道其来龙去脉 我保存存储库的空间有限 因此我想备份它 然后删除一些旧版本 例如 如果一个项目的版本为 50 我只想保留 50 49
  • 为什么安装 TortoiseSVN 后 AnkhSVN 解决方案中的所有文件都标记为新文件?

    安装 TortoiseSVN 1 6 0 后 加载到启用 AnkhSVN 的 Visual Studio 2008 项目中的所有文件都被标记为新文件 蓝 色 我尝试重新安装 AnkhSVN 2 0 6347 并将存储库检出到新的 干净 文件
  • 如何在 Mac OS X 10.8 上安装 hg Convert 所需的 python subversion 绑定?

    我正在寻找一种解决方案 最好是干净且简单的 以启用hg convert使用 SVN 存储库在 OS X 10 8 上工作 目前 如果您尝试转换 SVN 存储库 您将得到一个could not load Subversion python b
  • 从本地缓存恢复SVN密码

    有没有办法从本地缓存恢复密码 密码必须存储在某处 因为我可以运行 svn co http my svn server foo 但我自己丢失了密码 我是否必须重置它 或者是否可以 以及如何 找到并解密密码 我主要在 Windows 上使用 C
  • SVN 行结束样式

    当我尝试在 SVN 中提交文件时 它显示错误为 提交失败 详细信息如下 提交 svn 行结束样式不一致 检查目录 文件上的 svn 属性 如果您定义了 svn eol style 但您的文件包含不同的样式 Unix 与 DOS 则提交将失败
  • readthedocs 中自动生成的索引文件

    我无法上传到阅读文档 http docs readthedocs io en latest 我为我的项目准备的文档 我正在尝试了解问题所在 该文档在本地构建良好make html但我无法上传 GitHub 项目是ASCII基因组 https
  • 在 Subversion 中,我可以是登录名以外的用户吗?

    我想知道如何获得Subversion更改我的更改显示的名称 我刚刚开始使用Subversion 我目前正在使用它来对 XP 笔记本电脑上的代码进行版本控制 我总是以我妻子的名字登录 我希望 subversion DB 显示我名下的更改 稍后
  • TortoiseSVN 不要求身份验证?

    我已经在conf文件中设置了一个新的SVN存储库 运行SVNServe anon access none SVNServe 忠实地正确地做到了这一点 但是当我尝试使用 TortoiseSVN 浏览存储库时 它只是说不允许访问 它不应该要求我

随机推荐