4 ms·
I am not sure if the parent's claim is true, ie that Github is storing objects and sharing them across forked repos. If they are, then it likely just a direct
by Edmond 9y ago
I am not sure if the parent's claim is true, ie that Github is storing objects and sharing them across forked repos.
If they are, then it likely just a direct implementation of git the technology. you can see how git stores data here: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
- aidos 9y agoNot an expert, but that would only work if there was a single repo, right?
- Edmond 9y agoNot an expert either :) There is the concept of submodules which allows for multiple repos while maintaining the checksum mechanics that allows sharing the same bit of information between branches and across commits: https://git-scm.com/book/en/v2/Git-Tools-Submodules https://git-scm.com/book/en/v2/Git-Tools-Submodules The trick is that git maintains an abstract file system (ie a graph) across commits. The graph consist of pointers to content without having to create a clone of the actual content for every new version of said graph....it gets a little dizzy to explain but it is really not too complicated :)
- allenz 9y agoNot necessarily. To share blobs, GitHub would need to replace the standard git filesystem blob storage with a distributed database of blobs. All Git repos would share this distributed database.