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

Re: blobs (once more)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Apr 7, 2011, 06:45 UTC
Message-ID
<alpine.DEB.1.00.1104070836590.2040@bonsai2>
In-Reply-To
<buo4o6abpsg.fsf@dhlpc061.dev.necel.com>
Hi,
On Thu, 7 Apr 2011, Miles Bader wrote:
Show 15 quoted lines
> Pau Garcia i Quiles <pgquiles@elpauer.org> writes:
> > The usual answer to the "I need to put binaries in the repository" 
> > question has been "no, you do not". Well, we do. We are in heavy 
> > development now, therefore today's version may depend on a certain 
> > version of a third-party shared library (DLL) which we only can get in 
> > binary form, and tomorrow's version may depend on the next version of 
> > that library, and you cannot mix today's source with yesterday's 
> > third-party DLL. I. e. to be able to use the code from 7 days ago at 
> > 11.07 AM you need "git checkout" to "return" our source AND the 
> > binaries we were using back then. This is something ClearCase manages 
> > satisfactorily.
> 
> If it were me, I'd just store the huge binaries in some sort of separate 
> remote filesystem, and then store the remote-file-system _paths_ to them 
> in git (in a simple text file).
That fails for a number of reasons:
- it does not pass the 30,000-feet-high test
- integrity is not guaranteed (anybody can edit the files on the remote 
  file system, and nobody would realize that a "git checkout HEAD~2000" 
  ends up being something different from before)
- you would have to reinvent an efficient transfer (e.g. taking into 
  account all the data we have already)
- storage is no longer efficient, especially if you have multiple versions 
  of the same file.
- it is no longer decentralized anymore. Just think about yourself sitting 
  in the middle of antarctica, desperately needing to match a penguin 
  against a database of known penguins. You definitely want to have the 
  database local instead of leeching it down the non-existing wire all the 
  time. Likewise, if you and your group sit, say, on Viti Levu, and 
  develop software with people from New York, Texas, you definitely want
  a repository-in-the-middle, making it one person's duty to synchronize, 
  say, once per day.
I am sure you can think of more reasons.

Ciao, Johannes

Previous: Miles Bader
Message 9 of 9 in “blobs (once more)”
  1. Pau Garcia i QuilesApr 6, 2011
  2. Johannes SchindelinApr 6, 2011
  3. Michael J GruberApr 6, 2011
  4. Martin LanghoffApr 6, 2011
  5. Matthieu MoyApr 6, 2011
  6. Peter Jönsson PApr 6, 2011
  7. Magnus BäckApr 6, 2011
  8. Miles BaderApr 7, 2011
  9. Johannes SchindelinApr 7, 2011

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.