3 ms·
I wrote git-bigstore [0] almost 10 (!) years ago to solve this problem—even before Git LFS—and as far as I know, bigstore still works perfectly. You specify th
by theli0nheart 1y ago
I wrote git-bigstore [0] almost 10 (!) years ago to solve this problem—even before Git LFS—and as far as I know, bigstore still works perfectly.
You specify the files you want to store in your storage backend via .gitattributes, and use two separate commands to sync files. I have not touched this code in years but the general implementation should still work.
GitHub launched LFS not too long after I wrote this, so I kind of gave up on the idea thinking that no one would want to use it in lieu of GitHub's solution, but based on the comments I think there's a place for it.
It needs some love but the idea is solid. I wrote a little description on the wiki about the low-level implementation if you want to check it out. [1]
Also, all of the metadata is stored using git notes, so is completely portable and is frontend agnostic—doesn't lock you into anything (except, of course, the storage backend you use).
[0]: https://github.com/lionheart/git-bigstore https://github.com/lionheart/git-bigstore
[1]: https://github.com/lionheart/git-bigstore/wiki https://github.com/lionheart/git-bigstore/wiki
- TiredOfLife 1y agoEarliest tagged git bigstore: Apr 26, 2016 Earliest tagged git lfs: Jun 25, 2014
- theli0nheart 1y agoThe first bigstore release on PyPi (0.1) was on March 27, 2013. Check this out: https://pypi.org/project/git-bigstore/#history https://pypi.org/project/git-bigstore/#history
- andrewmcwatters 1y agoYou should... definitely not stop working on this. git-lfs is not good, and git-annex is far more awkward than it needs to be.