Lore : Fortnite 背书的版本控制系统

HackerNews 上那篇 Lore 官宣帖,24 小时内冲到了 1200 分、600 多条评论。这在一个新发布的版本控制系统身上挺反常。通常 VCS 这种基础设施的社区反应偏冷:选择本身已经够痛苦了,没人想再学第三套。但 Lore 的讨论串里有一种很微妙的气氛,不是欢呼,而是”终于有人做了”的那种松了一口气。

争论的焦点很集中:它能不能替代 Perforce?游戏行业为这个问题烧了十几年的钱。Git 处理代码无敌,碰到 4GB 的贴图文件就原形毕露。Git LFS 是打上去的补丁:分块去重是弱项,部分克隆有坑,二进制合并基本不存在。Perforce 管二进制管得好,但它是专有软件、按人头收费、协议不开放。中小工作室一年六位数的授权费,很疼。

Epic 自己就是 Perforce 最大的客户之一。Lore 的前身是 Unreal Revision Control,已经在 UEFN 里跑了一段时间,Fortnite 创作者们天天在用。6 月 17 号开源那天,它已经背着一个真实生产级别的验证。不是实验室里的概念项目。

但先别急着感动。社区对 Epic 的信任度不高。有人翻出了文档里明显的 LLM 生成痕迹,有人提醒 Epic 有烂尾开源项目的前科,还有人直指核心问题:版本控制不是”97% 可靠就够了”的领域。说白了,这篇文章要讲清楚的就一件事:Lore 的真实水平在哪,你现在该不该试。

打动我的几个地方

Lore 的 README 第一句话就说了实话:它是面向”代码加大型二进制资产混合项目”的版本控制系统,不是要替代 Git。这个定位比技术参数重要十倍,因为它意味着 Lore 没有犯”再造通用 VCS”的错误。它只盯着一个赛道:Git 和 Perforce 都不舒服的交叉地带。

文件分块存储是真正的差异化。Lore 用了 FastCDC 内容定义分块算法,把文件切分成独立的 chunk,每个 chunk 用 BLAKE3 哈希寻址。BLAKE3 的性能比 SHA-256 快得多,在长输入上天然可并行,内部本身就是 Merkle 树结构。这套方案的实际效果是:一个 2GB 的贴图文件,你改了其中 20MB 的内容,Lore 只同步变动的 chunk。Git LFS 的做法是整个文件重传,Perforce 也没有这个层面的优化。对动辄几百 GB 的游戏仓库来说,这个差异直接反映在等待时间上。

Lore : Fortnite 背书的版本控制系统

这张图展示的是 Lore 存储层的核心逻辑:文件被 FastCDC 算法切成多个可变长度的 chunk,每个 chunk 由 BLAKE3 哈希唯一标识。哈希被组织为 Merkle 树,多个 chunk 的哈希汇聚成文件根哈希,而文件根哈希又汇聚成修订根哈希,最终形成不可变的版本链。

内容寻址还有一个容易被忽略的聪明之处:完全重复的数据天然去重。同一个纹理文件在不同分支里各存一份?Lore 只存一份,两条分支只是指向同一个哈希的指针。这在游戏开发中太常见了。美术导出的临时版本、引擎构建的中间产物、跨关卡的共享资产,大量文件在不同路径下内容完全一样。传统 VCS 把它们存成不同的文件副本,Lore 在存储层自动合并。

Merkle 树加不可变修订链的组合也是精心设计的。每个修订的哈希从父修订哈希和数据哈希计算而来,形成一条密码学上完整的链。改动任何地方都会导致哈希变化,历史完整性不是靠”信任”来维护的,是数学上可验证的。对于需要合规审计的团队,这个属性不是营销话术,是实打实的安心。

按需水合机制解决的是另一个维度的痛点。一个 TB 级别仓库,美术人员只关心自己负责的关卡资源,为什么要把整个仓库拉到本地?Lore 的工作区默认只存元数据,文件内容按需从服务器获取。Checkout 一个仓库可以秒级完成,真正需要的时候才会发起数据传输。Git 的 sparse checkout 是把类似的功能硬加上去的,有一堆边界情况没处理好,Lore 把它做成了原生行为。

锁机制也值得展开说。Git 的分布式架构从根本上解决不了二进制文件锁定,因为没有一个中央权威来决定”谁正在编辑这个 .uasset”。Lore 的集中式架构让文件锁定变成了原生能力。更有价值的是锁的设计粒度:不是仓库级别,不是分支级别,是文件级别。一次锁定一个具体的文件,别人可以同时编辑同一项目的其他任何文件。这在 Git LFS 的 lock API 也能做到,但 LFS 的锁实现经常因为认证配置的差异出问题。

但说完了这些架构上的巧思,有个问题绕不过去:文档写得厚,术语密集,读起来有明显的 LLM 生成味道。社区有人专门统计了术语重复率,结论不太好看。Epic 的桌面客户端还在 roadmap 里,美术人员目前得面对命令行。这件事比听起来严重:Lore 明确定位”服务于开发者和美术人员”,一个美术人员如果要被教会用终端,这个“服务”是什么意思就要打个问号了。

架构说清楚了一回事,代码本身长什么样是另一回事。跑起来感觉如何?

跑起来看看

开源版本安装比想象中简单。一条命令搞定本地 demo:

curl -fsSL https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.sh | bash -s -- --demo

demo 模式一键拉起本地服务端加 CLI,不需要配任何外部存储。Windows 上也有对应的 PowerShell 安装脚本。生产环境需要自己部署存储后端,参考实现用了 AWS S3 加 DynamoDB,但 Epic 说得很清楚:后端是可替换的,不是硬依赖。

装完之后的标准操作和 Git 很像:

lore init my-project
lore commit -m "Initial commit"
lore branch create feature/experiment
lore switch feature/experiment

命令风格是对 Git 用户的刻意致敬。lore commit、lore branch、lore switch,这些名字不用重新学。差异在底层行为上:lore commit 默认只记录本地修改,需要显式 push 到服务器。这是集中式架构的直接体现,客户端不是完整历史副本,是工作区的本地代理。

几个明显的卡点。

第一,pre-1.0 阶段磁盘格式没锁定。Epic 在文档里提醒”interfaces, on-disk formats, and APIs may change between releases”,今天建的 200GB 仓库三个月后可能需要迁移。

第二,开源版和 UEFN 内部版用的压缩格式不同,虽然团队在推进统一,但现阶段两个版本不能直接互通。

第三,多语言 SDK 已发布(JavaScript、Python、C#、Go),但文档和示例的完整度参差不齐。

好消息是 Anchorpoint 这周宣布了 Lore 桌面客户端的支持。Anchorpoint 是艺术团队常用的可视化管理工具,有了它,美术人员不需要碰命令行。更关键的是它证明了 Lore 的开放 API 策略在起作用:第三方工具可以接入,不需要专门适配。

上手体验聊完了,但真正的判断不在这里。决定一个 VCS 值不值得用的,永远不是装起来有多快,而是它能不能匹配你的团队和项目。

什么时候用,什么时候别用

Lore 的适用边界非常清晰。它解决的不是通用版本控制,是”Git 处理不了的那种仓库”的问题。

Lore : Fortnite 背书的版本控制系统

这张对比图梳理了三套方案在不同维度的差异。Git LFS 的开放性和社区生态最强,但处理二进制资产的效率最差。Perforce 在二进制管理和锁定上最成熟,但协议封闭、授权昂贵。Lore 试图同时吃到两边:用开放协议做 Perforce 做的事。但目前的生产成熟度远不及两者。

场景 典型用户 优势 局限
游戏开发 中小型独立工作室 分块存储降低传输量、锁定原生支持、免费许可 磁盘格式不稳定、生产部署有风险
大资产影视 VFX 管线团队管理 TB 级资产 内容去重、按需水合、不可变历史 尚无成熟的自托管最佳实践
AI 模型训练 ML 工程团队管模型权重 大文件分块传输、版本可验证 非目标场景、无相关优化
多人协作大型项目 需要权限隔离和文件锁定 多租户设计、文件级锁 集中式架构对网络依赖强

不适用的情况也很明确。纯代码仓库,继续用 Git。已经在 Perforce 上有一套成熟管线,且授权费不是瓶颈,迁移的收益需要仔细算。你不是游戏或大资产项目的团队,Lore 解决的问题对你来说可能根本就不存在。你的团队分布在多地且网络不稳定,集中式架构下的体验会打折扣。

有个陷阱容易踩:Lore 的 README 写得像全功能产品,很多能力标注为”已实现”。翻 Issue 区才发现,部分功能的测试覆盖不足,边缘情况还没处理完。pre-1.0 的东西,别当生产级产品用。

场景说清楚了,但一个项目的长期价值不只看功能矩阵。看看社区在发生什么。

社区怎么样了

开源近七周,7,855 Stars,351 Forks。这个增长速度在新 VCS 里很罕见。Star 历史曲线显示前 24 小时涨了 2,850+,之后增速明显放缓但每天仍有稳定流入。

指标 数据 判断
Stars 7,855 增速健康,但 VCS 的真正考验不是 Star 数
Forks 351 社区探索意愿明显
Open Issues 87 对新项目来说偏高,反映早期使用者活跃
Commits 170(5.29 起) 日均约 3.8 提交,节奏紧凑
核心贡献者 约 5 人(Epic 内部为主) Bus Factor 偏低,外部贡献未规模化
协议 MIT 商业友好,无 copyleft 顾虑

HackerNews 的评论读起来很有意思。支持派的话术集中在”Perforce 该被挑战了”这一条线上。一位自称工具工程师的用户写道:”作为花了十年和 Perforce 对着干的工具工程师,看到有人认真做这件事,我只能说终于。”持保留意见的声音则集中在信任问题上。有人直接说:“把 VCS 交给一个营利性公司让我不放心,尤其是一个做了不少烂尾开源项目的公司。”

最一针见血的评论来自讨论串里的一个高赞回复:”版本控制工具不是 97% 可靠就够用的领域。Git 今天之所以是基础设施,不是因为没竞品,而是因为它经过二十年无数人用真正生产数据验证过。”Lore 要过的关键关口不是技术,是信任。

Epic 的社区治理本身还算规范。仓库有 CONTRIBUTING.md、DCO、GOVERNANCE.md、SECURITY.md 全套。CI 配了 Clippy、rustfmt、cargo-deny、pre-commit hooks,代码质量的底线在。但没有 GitHub Discussions,社区交流靠 Discord。Discord 内容不可搜索、不可归档,对开源项目的长期积累不太友好。

社区数据看着不错,Discord 里也很热闹,但 Star 数和社区热情从来不是 VCS 的护城河。一个问题冒出来了:抛开那些好看的指标不谈,Lore 到底有没有真东西?

我的真实看法

我给 Lore 下了三个判断,不一定全对,但够锋利能让有人想反驳。

第一,Lore 不是 Git 杀手,甚至没这个意图。它的靶心是 Perforce。Git 解决的是”每个人都能离线工作,随时合并”的问题,适合代码。Perforce 解决的是”有中央服务器告诉我谁在改什么”的问题,适合资产。Lore 的姿态很清楚:它站在 Perforce 的赛道上,用 Git 的开放哲学去重新做一遍。别用”能不能替代 Git”来评价它,用”能不能替代 Perforce”来评价。目前答案是不能,但方向是对的。

第二,Epic 的可信度是 Lore 最大的软肋。文档 LLM 味道重这件事,在小功能上无伤大雅,在 VCS 上相当要命。你第一天用,照着文档配了三步,发现第四步文档写的命令不存在。这种级别的体验,对于需要被说服放弃 Perforce 的团队来说,足以让他们直接关掉页面。Epic 需要拿出来的不是更多 Star,是生产级别的文档。

第三,底层技术选型是对的。分块存储和 Merkle 树这些设计决策没什么好挑剔的。Rust 的选择也聪明。不是说 Rust 比 C++ “更好”,而是在 2026 年做一个新的系统级软件选 Rust,意味着可以直接借力现有的 Rust 生态(gRPC、QUIC、async runtime),不用从零写网络层和存储层。170 个 commit 搭出 19 个 crate 的工作区,这个效率很难在 C++ 上复现。

Lore : Fortnite 背书的版本控制系统

这条时间线把 Lore 从内部工具到开源项目的关键节点串了起来。UEFN 内部验证期给了它技术信度,6 月 17 日的开源发布引爆了社区关注,接下来的桌面客户端开源和 v1.0 发布将决定它能不能从”值得关注”走到”值得使用”。

翻完 Issue 列表之后,我对 Lore 前景的判断收窄了。不是技术有致命问题,而是 VCS 的替换成本太高。一个团队从 Perforce 迁到 Lore,需要的不是”更好的分块算法”,是完整工具链迁移、全员培训、CI/CD 改造、历史导入、性能基准测试。这些成本跟技术本身一样大。Lore 目前只提供了技术的一半,生态的另一半还没来。

技术深度是够的,但时间窗口不宽松。如果 v1.0 在 2026 年内落地、桌面客户端正式开源、压缩格式统一,它能收割一波对 Perforce 不满的中型团队。如果拖下去,等到 Git 那边的 sparse index 和 partial clone 这些优化更成熟了,Lore 要说服人换工具的理由会越来越薄。

先试起来,别急着迁

如果你在做游戏或大资产项目,花半小时建个本地 demo,跑一次完整的 add、commit、branch、switch 流程,最关键的是改一个大的二进制文件后再 commit,计时对比你现有工具在同样操作上的耗时。这个数字很可能直接决定你要不要继续关注 Lore。

如果你还在观望,盯住两个信号。

一是 v1.0 的发布日期和磁盘格式锁定的声明,

二是桌面客户端的正式开源。这两件事加起来,决定了 Lore 从”值得试”到”可以用”有多远。

更直接的指标是看 Fortnite 团队有没有把整个 UEFN 生产环境切到开源压缩格式。Fortnite 是 Epic 的命根子,他们不会在 VCS 上冒任何不必要的风险。

版本控制这个领域,这些年太安静了。Git 奠定了分布式协作的范式之后,创新在增量层面小步走,没人尝试从根上重定义”适合大资产的 VCS”是什么样子。Lore 不一定成功,但让一个行业默认无解的问题重新被讨论,这件事本身已经有价值了。

资源地址

资源 地址
GitHub https://github.com/EpicGames/lore
官方网站 https://lore.org
官方文档 https://epicgames.github.io/lore/
Discord https://discord.gg/E4SFJKRPbg
JavaScript SDK https://github.com/EpicGames/lore-js
Python SDK https://github.com/EpicGames/lore-python
C# SDK https://github.com/EpicGames/lore-dotnet
Go SDK https://github.com/EpicGames/lore-go

 

开源项目

Meetily:把会议纪要锁在你自己的硬盘里

2026-7-14 10:20:09

行业动态

借道“无障碍”,AI助手可能在盯着你

2025-9-30 18:08:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧