news.volyx.in

Elfshaker: Version control system fine-tuned for binaries (github.com)

599 points by jim90 · 1766 days ago · 113 comments on HN

Article summary

Elfshaker is a version control system designed for binaries, which stores snapshots of directories into highly-compressed pack files and provides fast on-demand access to the stored files. It is particularly useful for storing similar files, such as object files from an incremental build. The system achieves high compression ratios and fast access times, making it suitable for use cases like storing builds of a commit history. Elfshaker is written in Rust and is compatible with various Linux platforms, macOS, and Windows.

Main themes

  • binary version control
  • compression algorithms
  • git limitations
  • backup strategies
  • version control systems
  • binary storage

What commenters say

  • Elfshaker's compression algorithm is effective for binaries with localized changes, but may not perform well with non-textual data that has non-local changes.
  • Git may not be the best choice for storing large binary files due to its poor handling of non-textual data.
  • Elfshaker's approach could potentially be used as a replacement for git-lfs or as a way to store binaries as first-class citizens in version control.
  • The use of elfshaker for backup purposes is not recommended due to its young age and potential instability.
  • Other version control systems, such as Perforce, may be more suitable for handling large binaries.
  • The concept of elfshaker could be extended to other binary types beyond ELF binaries.
  • Elfshaker's performance compared to git is still unknown and requires further experimentation.
  • The idea of using a git-clean filter to teach git how to handle binary container formats is an interesting alternative to elfshaker.