Le premier module du projet elfshaker a été publié, développant un système de gestion de versions pour les fichiers binaires, optimisé pour le suivi des modifications des fichiers exécutables au format ELF. Ce système stocke des correctifs binaires entre les fichiers, permettant d'extraire la version souhaitée par clé, ce qui accélère considérablement l'opération « git bisect » et réduit considérablement l'espace disque utilisé. Le code du projet est distribué sous la licence Apache-2.0.
Le programme se distingue par son efficacité élevée dans le stockage des modifications binaires d'un grand nombre de fichiers binaires similaires, par exemple, obtenus lors des compilations incrémentales d'un même projet. En particulier, les résultats de deux mille reconstructions du compilateur Clang (chacune reflétant un changement après chaque commit) peuvent être enregistrés dans un fichier pack de 100 Mo, soit 4000 fois moins que ce qu'il faudrait en stockage séparé.
L'extraction de tout état de ce fichier prend de 2 à 4 secondes (60 fois plus rapide que l'opération « git bisect » sur le code LLVM), ce qui permet d'extraire rapidement la version requise des fichiers exécutables du projet sans avoir à reconstruire à partir des sources ni à conserver une copie de chaque version auparavant compilée.
Source : opennet.ru
