From: Jeff Garzik Date: Fri, 04 Nov 2005 20:40:18 GMT Subject: Re: RFC: GIT networked storage Message-ID: <436BC732.3090809@pobox.com> In-Reply-To: <7vd5lg22gm.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > Jeff Garzik writes: > > >>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