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

Re: git push to amazon s3 [was: [GSoC] What is status of Git's Google Summer of Code 2008 projects?]

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jul 9, 2008, 03:26 UTC
Message-ID
<20080709032634.GB18520@spearce.org>
In-Reply-To
<20080708055610.GA12591@glandium.org>
Mike Hommey <mh@glandium.org> wrote:
> FWIW, I'm starting to work again on the http backend overhaul. My idea
> is to provide a generic dumb protocol vfs-like interface, so that other
> dumb protocols could be built out of it.

jgit has a vfs abstraction for the different dumb protocols. Not sure if you would find it of any value to read as we are also able to use a number of Java standard abstractions like InputStream/OutputStream, but here it is:

  WalkRemoteObjectDatabase:
  http://repo.or.cz/w/egit.git?a=blob;f=org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java;h=915faac9eb85e59c0ed2c08b9631d03cbc4c6bf8;hb=8d085723b260f3b51a70d11b723608779160b090

Thus far this abstraction has worked for sftp:// and amazon-s3://. WebDAV may make it more complicated due to locking being available (and something we would want to use to protect writes) but S3 uses HTTP PUT much like DAV does to upload content so there wouldn't be too many changes to actually implement DAV support.

-- 
Shawn.
Previous: Mike HommeyNext: Shawn O. Pearce
Message 3 of 4 in “git push to amazon s3 [was: [GSoC] What is status of Git's Google Summer of Code 2008 projects?]”
  1. TarmiganJul 8, 2008
  2. Mike HommeyJul 8, 2008
  3. Shawn O. PearceJul 9, 2008
  4. Shawn O. PearceJul 9, 2008

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.