El projecte elfshaker desenvolupa un sistema de control de versions per a fitxers ELF

S'ha publicat la primera versió del projecte elfshaker, un sistema de control de versions binari optimitzat per fer el seguiment dels canvis als executables ELF. El sistema emmagatzema pedaços binaris entre fitxers, us permet recuperar la versió desitjada per clau, la qual cosa accelera significativament l'operació "git bisect" i redueix molt la quantitat d'espai de disc utilitzat. El codi del projecte es distribueix sota la llicència Apache-2.0.

El programa destaca per la seva alta eficiència d'emmagatzemar canvis binaris en un gran nombre de fitxers binaris similars, per exemple, obtinguts durant les compilacions incrementals d'un projecte. En particular, els resultats de dues mil reconstruccions del compilador Clang (cada reconstrucció reflecteix el canvi després de cada commit) es poden emmagatzemar en un únic fitxer de paquet de 100 MB de mida, que és 4000 vegades més petit que el que es necessitaria si s'emmagatzemés per separat. .

L'extracció de qualsevol estat d'un fitxer donat triga entre 2 i 4 segons (60 vegades més ràpid que el codi LLVM que divideix git en dues parts), cosa que us permet extreure ràpidament la versió desitjada dels executables d'un projecte sense reconstruir des de la font ni emmagatzemar una còpia de cada versió d'un fitxer creat prèviament. executable.

Font: opennet.ru

Afegeix comentari