elfshaker-projektet utvecklar ett versionskontrollsystem för ELF-filer.

Den första utgåvan av elfshaker-projektet, ett binärt versionskontrollsystem optimerat för att spåra ändringar i ELF-körbara filer, har publicerats. Systemet lagrar binära patchar mellan filer, låter dig hämta den önskade versionen med nyckel, vilket avsevärt snabbar upp "git bisect"-operationen och avsevärt minskar mängden diskutrymme som används. Projektkoden distribueras under Apache-2.0-licensen.

Programmet är anmärkningsvärt för sin höga effektivitet när det gäller att lagra binära ändringar i ett stort antal liknande binära filer, till exempel, erhållna under inkrementella byggnader av ett projekt. I synnerhet kan resultaten av tvåtusen ombyggnationer av Clang-kompilatorn (varje ombyggnad återspeglar förändringen efter varje commit) lagras i en enda packfil på 100 MB, vilket är 4000 gånger mindre än vad som skulle krävas om det lagrades separat .

Att extrahera valfritt tillstånd från en given fil tar 2-4 sekunder (60 gånger snabbare än git-skärande LLVM-kod), vilket gör att du snabbt kan extrahera den önskade versionen av ett projekts körbara filer utan att bygga om från källan eller lagra en kopia av varje version av en tidigare byggd körbar.

Källa: opennet.ru

Lägg en kommentar