Elfshaker project develops versions control system for ELF files

Published The first release of the project Elfshaker , developing versions management system for binary files optimized to track changes in executable files in ELF format. The system stores binary patches between files, allows to extract the desired version of the key, What significantly speeds up the execution of the GIT BISECT operation and strongly reduces the size of the disk space used. Project code extends under the APACHE-2.0 license.

The program is notable for high storage efficiency of binary changes in a large number of similar binary files, for example, obtained in the process of incremental assemblies of one project. In particular, the results of two thousand rebuilding Clang compiler (each rebuild reflects the change after each commit) can be saved in one pack file, size 100 MB, which is 4000 times less than it would be necessary when stored.

Extracting any state of this file takes 2-4 seconds (60 times the “Git Bisect” operation over the LLVM code), which allows you to quickly remove the desired version of the executable project files without rebuilding from the source text or storage of the copy of each version of the previously collected executable file.

/Media reports.