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

Re: Git Large Object Support Proposal

From
Ddavid@lang.hm <david@lang.hm>
Date
Mar 19, 2009, 23:52 UTC
Message-ID
<alpine.DEB.1.10.0903191650160.16753@asgard.lang.hm>
In-Reply-To
<7vzlfh5b7y.fsf@gitster.siamese.dyndns.org>
On Thu, 19 Mar 2009, Junio C Hamano wrote:
Show 24 quoted lines
> Scott Chacon <schacon@gmail.com> writes:
>
>> 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.
that would work, but the proposed change has some advantages
1. you store the sha1 of the real mpg in the 'large file' blob so you can 
detect problems
2. since it knows the sha1 of the real file, it can auto-create the real 
file as needed, without wasting space on too many copies of it.
David Lang
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 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.