https://lore.org/
Lore是一个集中式、内容寻址的版本控制系统,使用默克尔树和不可变的版本链来表示仓库状态,并针对二进制优先存储、重复数据删除以及大规模的稀疏/按需数据水合进行了优化。
设计文档全文: https://epicgames.github.io/lore/explanation/system-design
看起来不错,设计很先进,从一开始就避免了git的诸多设计问题。
Lore是一个集中式、内容寻址的版本控制系统,使用默克尔树和不可变的版本链来表示仓库状态,并针对二进制优先存储、重复数据删除以及大规模的稀疏/按需数据水合进行了优化。
Lore 旨在处理的工作负载
它们与内容无关。一个典型的代码仓库包含源代码、构建输入、配置、预构建工件、大型数据文件、生成的内容以及任意二进制数据块。没有哪一种内容形式占据主导地位,也没有任何实用工具能够专门针对一种内容形式而将其他内容形式视为降级处理。
它们在各个方面都非常庞大:文件数量达数百万,单个文件大小达到TB级,历史记录包含数百万次的修订,每个项目有数百个分支,数千个并发用户,以及数百个代码库共享同一个后端部署。任何一个方面都足以让现有系统不堪重负;而所有这些因素加在一起,更是让现有系统彻底无力应对。
它们由中央统一协调。必须存在一个单一的逻辑数据源——用于访问控制、持久性、审计和冲突解决——但开发人员仍然需要能够离线工作、排队提交版本,并在无需往返远程服务器的情况下暂存更改。
设计文档全文: https://epicgames.github.io/lore/explanation/system-design
看起来不错,设计很先进,从一开始就避免了git的诸多设计问题。