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

Re: Git Large Object Support Proposal

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 19, 2009, 23:44 UTC
Message-ID
<7vzlfh5b7y.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<d411cc4a0903191618x503db946n62d3132eece69175@mail.gmail.com>
Scott Chacon <schacon@gmail.com> writes:
Show 7 quoted lines
> The point is that we don't keep this data as 'blob's - we don't try to
> compress them or add the header to them, they're too big and already
> compressed, it's a waste of time and often outside the memory
> tolerance of many systems. We keep only the stub in our db and stream
> the large media content directly to and from disk.  If we do a
> 'checkout' or something that would switch it out, we could store the
> data in '.git/media' or the equivalent until it's uploaded elsewhere.

Aha, that sounds like you can just maintain a set of out-of-tree symbolic links that you keep track of, and let other people (e.g. rsync) deal with the complexity of managing that side of the world.

And I think you can start experimenting it without any change to the core datastructures. In your single-page web site in which its sole html file embeds an mpeg movie, you keep track of these two things in git:

	porn-of-the-day.html
        porn-of-the-day.mpg -> ../media/6066f5ae75ec.mpg

and any time you want to feed a new movie, you update the symlink to a different one that lives outside the source-controlled tree, while arranging the link target to be updated out-of-band.

Previous: Scott ChaconNext: david@lang.hm
Message 4 of 11 in “Git Large Object Support Proposal”
  1. Scott ChaconMar 19, 2009
  2. Junio C HamanoMar 19, 2009
  3. Scott ChaconMar 19, 2009
  4. Junio C HamanoMar 19, 2009
  5. david@lang.hmMar 19, 2009
  6. Junio C HamanoMar 20, 2009
  7. Scott ChaconMar 20, 2009
  8. david@lang.hmMar 20, 2009
  9. Junio C HamanoMar 20, 2009
  10. Jeff KingMar 20, 2009
  11. david@lang.hmMar 19, 2009

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.