3 ms·
The sad thing is that there's not much in Git's data model[1] that makes it bad for storing large binary blobs. An alternative implementation of Git (the progr
by TOGoS 3y ago
The sad thing is that there's not much in Git's data model[1] that makes it bad for storing large binary blobs. An alternative implementation of Git (the program), or even a future version of vanilla `git`, could handle them just fine without the lfs hack, which I agree is horrendous, by using a different on-disk format for them and/or making sparse clones easier, and thereby remain 100% compatible with every other Git repository.
[1] There are some tweaks I would make, like using a standard Merkle tree hash function instead of sha1("blob "+size+"\0"+data), and a text-based encoding for commit and tree objects, but those are bike shed paint. I created a Git-like system based on these ideas that uses URNs and RDF/XML to make going 'under the hood' with a text editor a bit more pleasant than the experience with Git is, which is important because Git's tooling is far superior: https://github.com/TOGoS/ContentCouch/ https://github.com/TOGoS/ContentCouch/