elfshaker 项目正在开发 ELF 文件的版本控制系统。

elfshaker 项目的第一个版本已经发布,这是一个针对跟踪 ELF 可执行文件的更改而优化的二进制版本控制系统。 系统在文件之间存储二进制补丁,允许您通过密钥检索所需的版本,这显着加快了“git bisect”操作并大大减少了磁盘空间的使用量。 项目代码根据 Apache-2.0 许可证分发。

该程序以其在大量相似二进制文件中存储二进制更改的高效率而闻名,例如,在一个项目的增量构建期间获得的二进制更改。 特别是,Clang 编译器的两千次重建结果(每次重建反映每次提交后的更改)可以存储在大小为 100 MB 的单个包文件中,这比单独存储所需的大小小 4000 倍。

从给定文件中提取任何状态只需 2-4 秒(比 git 二分 LLVM 代码快 60 倍),使您能够快速提取项目可执行文件的所需版本,而无需从源重建或存储先前构建的每个版本的副本可执行的。

来源: opennet.ru

添加评论