虚拟文件同步(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的版本控制产品组合。他喜欢做客户和软件开发团队的桥梁,乐于解决各种难题。在闲暇时间,他喜欢与家人共度时光,保持活力,并且对曲棍球运动有浓厚兴趣。
文章来源:https://bit.ly/3oIpmYR