3 ms·
My only shock here is that this wasn't done sooner. I have kind of seen Git as two tightly coupled systems (and IIRC, other VCS's have modeled their design wit
by cbsmith 11y ago
My only shock here is that this wasn't done sooner.
I have kind of seen Git as two tightly coupled systems (and IIRC, other VCS's have modeled their design with a similar separation of concerns): a content addressable store, and a tagging/tracking system for metadata.
I actually kind of expected that someone would eventually try out replacing one of the two with their own "better" system to see how that worked out, but obviously the more interesting opportunity is to see if one or both of the components might be useful for an entirely different purpose.
- rhgraysonii 11y ago> My only shock here is that this wasn't done sooner. This was my initial reasoning for making it. However when I began looking into it on Twitter @steveklabnik informed me that Rust's crates.io uses a similar system [0]. I found this especially intriguing, but have not gotten in touch with someone who knows the codebase better to give me some more insight. [0] https://twitter.com/steveklabnik/status/608778665825083392 https://twitter.com/steveklabnik/status/608778665825083392
- serbrech 11y agoOctopusDeploy played with this to store configurations. That was supposed to allow you to have full history with branching possibilities and a straight forward way to backups. https://github.com/paulstovell/OctoDB https://github.com/paulstovell/OctoDB
- emmelaich 11y agoAlso ... Graydon Hoare, one of the people behind Rust is the one of the people behind Monotone. Which was an inspiration for Git.
- derefr 11y agoPersonally, I'm surprised that git hasn't been factored into two separate sets of libraries/tools: one to build and manipulate generic content-addressable stores, and then another than just consumes that library, adds a bit of metadata, and exposes the git toolchain. If the API of the content-addressible-store library were standardized, one could even replace it with other backends (Plan9's Venti, or an object-store like S3 or Riak CS, or a DHT.) I could see it becoming sort of a libvirt thing.