Re: RFC: GIT networked storage
From: Jeff Garzik <hidden>
Date: 2016-06-15 22:42:10
Junio C Hamano wrote:
Jeff Garzik [off-list ref] writes:quoted
How easy is it to add a new storage backend to git?Almost everything is contained within sha1_file.c. Object creation side is simple -- everybody who creates an object (e.g update-index registering blobs, write-tree writing the toplevel and intermediate level trees, commit-tree building a commit object, unpack-objects exploding a pack) goes through write_sha1_file(), which checks if the object is already available using has_sha1_file() and creates a new object in the local .git/objects/?? directory. I am assuming that you are not planning to create objects in a remote peer from within the git code path, and instead to have background process that replicate them over the network to peer repositories, so you probably do not have to touch this side. Extending inspection and reading from existing objects for your networked storage may be somewhat messy, but starting points are:
[...] Thanks. It looks pretty straightforward to add a new storage backend, grepping on the symbols you listed. Jeff