HACKER Q&A
📣 BiteCode_dev

What VCS to use for binary files only?


I know about git-lfs and mercurial binary files extension, but don't know the pros and cons. Is there something like git, but specialized in binary files?

Apparently SVN could work very well with binary files, but it needs a central server.


  👤 kvnhn Accepted Answer ✓
I've been working on Dud[1] to help solve this problem. Coincidentally I released v0.2.0 today.

The core idea is to version large files/directories in a content-addressed store, and to track the content addresses (i.e. checksums) in source control (e.g. Git) for historical traceability.

For a practical example of how Dud works, check out the Getting Started page[2].

[1]: https://github.com/kevin-hanselman/dud

[2]: https://kevin-hanselman.github.io/dud/getting_started/


👤 tlb
Git works great for binary files. However, it struggles with large repositories (beyond 5 GB). So large files are a problem, and binary files are often large. But the binariness itself is no problem.

(5 GB is github's "recommended" limit. You can push beyond it, but things will get sluggish and it might not work everywhere.)

git-lfs is clunky and awkward, but may still be the best solution for large files.


👤 msingle
if you're feeling adventurous, bitkeeper (https://bitkeeper.org) handles binaries well. It's no longer supported by a company, but it's open source.