Epic开源Lore版本控制系统要挑战谁
Epic Games 做了个大动作——把自己的版本控制系统 Lore 开源了。不是小打小闹的开源,是完整的、在生产环境跑了很久的东西。
不是什么”又一个 Git 替代品”

先说清楚,Lore 不是要跟 Git 抢饭碗。它的设计目标非常明确:解决大团队、大仓库、大文件的版本管理问题。
Git 在这个场景下有多痛苦,用过的都知道。repo 一大了,clone 一次能喝杯咖啡,切换分支要等,git status 都能卡住。Lore 的应对方式很直接:内容寻址存储、按需加载、文件分块——你需要什么才下载什么,不是一次性把整个仓库历史都拉到本地。
具体来说,Lore 把文件切成小块存储,每个块用内容哈希标识。你 checkout 一个文件时,只拉那个文件相关的块。整个仓库的历史像一棵默克尔树,每个版本都包含父版本的哈希签名,形成了一条不可篡改的链。
从游戏行业里长出来的工具

这个系统在 Epic Games 内部已经运行了很久,管理着 Unreal Engine 的庞大代码库——那是成千上万的开发者同时工作的东西。能够支撑这种规模,说明 Lore 不是实验室产物,是真刀真枪打磨过的。
它的架构很有意思:中心化服务加缓存层,但工作区可以保持轻量。分支切换几乎没有开销——因为分支只是轻量级的可变引用,背后不复制数据。对大型游戏开发团队来说,这意味着美术资源、关卡文件、几十 G 的二进制资产也能做版本管理了,不用再靠文件名加日期来手动控制。
全栈开源:不比 GitHub 差
Lore 提供的东西非常完整:服务端、CLI、还有 C/C++、C#、Rust、Go、Python、JavaScript 六种语言的 SDK。这意味着你可以直接在游戏引擎里用 Lore SDK 做资源版本控制,不用跳出编辑器。
日志用时间戳和字符串写的,一目了然(和 Git 的 commit hash 比,友好得多)。合并冲突的处理也做得简洁。用 Epic 的话说,“历史和分支是可读的”——这话对准了 Git 那晦涩的内部机制。
为什么要开源
对 Epic 来说这不是慈善。开源一方面能吸引社区贡献、提高兼容性、扩大生态,另一方面也在给 Unreal Engine 的开发者生态铺设基础设施。更深一层的逻辑是:如果大家用 Lore 管理游戏资产,那 Unreal Editor 集成 Lore SDK 就会成为天然选择。
Lore 到底能不能在 Perforce、Git LFS、SVN 手里分走一杯羹,还得看社区接受度。但有一点是确定的:一个开源、现代、给大项目设计的版本控制系统,对所有开发者都是好事。
来源:lore.org | Hacker News
