git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: RFC: GIT networked storage

From
JGJeff Garzik <jgarzik@pobox.com>
Date
Nov 4, 2005, 20:40 UTC
Message-ID
<436BC732.3090809@pobox.com>
In-Reply-To
<7vd5lg22gm.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 23 quoted lines
> Jeff Garzik <jgarzik@pobox.com> 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
Previous: Junio C HamanoNext: Santi Béjar
Message 4 of 5 in “GIT 0.99.9c”
  1. Junio C HamanoNov 4, 2005
  2. RFC: GIT networked storageJeff Garzik, Nov 4, 2005
  3. Junio C HamanoNov 4, 2005
  4. Jeff GarzikNov 4, 2005
  5. Santi BéjarNov 5, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.