提升效率:P4VFS 让虚拟文件同步更迅速、更简单
虚拟文件同步(Virtual File Sync)是一个备受期待的功能集,能够显著缩短Perforce Helix Core用户的同步时间。本篇文件将解释什么是虚拟文件同步,如何设置它以及如何使用它。
什么是虚拟文件同步?
虚拟文件同步是一项功能,让用户能够在初始请求时只同步文件的元数据,在有需要的时候才下载完整的文件内容。
它包括以下四个组件:
Helix Core Server(P4D),2023.1 以上版本
Helix C/C++应用程序编程接口(P4API),2023.1 以上版本
Helix Core 虚拟文件服务(P4VFS),2023.1 以上版本
Helix Core 客户端,例如 Helix Visual Client(P4V),2023.2 以上版本,或 Helix Core 命令行客户端(P4),2023.1 以上版本
Perforce 为什么要开发虚拟文件同步?
团队通常需要在远程和分布式的环境中同步许多大型资产,这会花费大量时间。在此之前,Perforce 的一些客户试图自行实现类似功能,也获得了不同程度的成功。
为了让所有客户都能够以可靠、有效的方式加速同步,Perforce 实现了对虚拟文件同步的支持。虚拟文件同步让用户能够在 Perforce Helix Core 中原生体验此功能,他们可以在工作区中仅同步文件的元数据,并在需要的时候再下载完整文件内容(通过明确要求下载文件,或在应用程序(例如编辑器、图形程序等)中打开文件,从而使文件自动下载)。
虚拟文件同步的好处
虚拟文件同步将缩短团队处理大型文件时的同步时间,并减少从服务器传输到用户本地的数据量。如果您是在云中运行 Perforce Helix Core 服务器,用户工作站不在云中,则可以大幅节省数据流出的成本。
虚拟文件同步的限制
目前,Perforce Helix Core 虚拟文件服务(P4VFS)仅支持 Windows 平台。这也意味着目前此功能仅支持在 Windows 上运行的 Perforce Helix Core 客户端(例如:P4V、P4)。这个实现决策是有意而为之的,因为性能测试表明,依赖于操作系统的解决方案具有最佳的性能表现。
如何设置虚拟文件同步
下面是设置和安装虚拟文件同步的步骤:
第一步:安装您的 Perforce Helix Core 服务器(2023.1 版本或更高版本),或将现有的 Perforce Helix Core 服务器升级到 2023.1 版本(或更高版本)。 这也将自动升级 Helix C/C++应用程序编程接口(P4API)的版本;
第二步:安装 Helix 虚拟文件服务(P4VFS)客户端;
第三步:升级 Helix Visual Client(P4V)至 2023.2 版本(或更高版本),和/或升级 Helix 命令行客户端(P4)至 2023.1 版本(或更高版本)。
*仅支持 Windows 10.1709+和 Windows 11。
如何使用 P4VFS(Perforce Helix Core 虚拟文件服务)
当您运行 P4VFS 时,以下是如何使用它的教程。本节将假设您将 Helix Visual Client(P4V)作为首选客户端。
步骤 1:启动 Helix Visual Client(P4V)。如有必要,请登录后使用。
步骤 2:创建一个新工作区,或将现有的工作区同步回修订版本 0。
步骤 3:在工作区对话框中检查“altsync”属性。
步骤 4:创建工作区后,点击“获取最新版本”按钮,可以看到只有文件的元数据从 Perforce Helix Core 服务器同步过来。
请注意,现在在工作区视图中,所有"仅元数据"的文件都会显示一个新的"云"图标:
请注意,新的“提供者”已注册到 Windows 操作系统,状态(Status)列显示了所有“仅元数据”文件的“云”图标,规模(Size)列显示了准确的文件大小:
请注意,检查某一个特定的“仅元数据”文件,将发现占用磁盘大小显示为 0 字节:
步骤 5:在工作区的 Windows 资源管理器视图中,双击一个文件。请注意进度对话框显示,文件内容正在下载(如果以前没有下载)。
步骤 6(可选):右键单击步骤 5 下载的文件,然后选择“释放空间”选项,删除文件内容并仅保留文件元数据。
如果您有永远不希望进行虚拟同步的文件,那么请右击该文件,选择“始终保留在此设备上”选项。这样,无论何时进行“获取最新”操作,都会同时同步文件的元数据和文件内容。
免费使用 Perforce Helix Core
您还没有使用Perforce Helix Core吗?立即为需要加速开发、简化大型项目协作的团队获取最领先的版本控制系统,最多可免费支持 5 个用户和 20 个工作区。
作者简介:
Brent Schiestl
Perforce Software 产品管理总监
Brent 负责 Perforce 的版本控制产品组合。他喜欢做客户和软件开发团队的桥梁,乐于解决各种难题。在闲暇时间,他喜欢与家人共度时光,保持活力,并且对曲棍球运动有浓厚兴趣。
评论