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

Re: [PATCH] git-bundle: Make thin packs

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 8, 2007, 00:56 UTC
Message-ID
<Pine.LNX.4.63.0703080149320.22628@wbgn013.biozentrum.uni-wuerzburg.de>
In-Reply-To
<Pine.LNX.4.64.0703071632140.5963@woody.linux-foundation.org>
Hi,
On Wed, 7 Mar 2007, Linus Torvalds wrote:
> Does anybody actually use shallow clones in real life?
I don't. That's why I work on push/fetch from/via/into shallow repos.
Show 7 quoted lines
> When I did the numbers a long time ago, the shallow clone didn't 
> actually help much, because it meant that there were no deltas. Which 
> meant that you got 1% of the history for 60% of the price of all 
> history, and the shallow thing didn't really seem to make much sense.
> 
> I guess that for something with a really long history, you'd get 0.001% 
> of the history for 10% of the price, and maybe it makes sense then.

You -- being blessed by not having to work with anything closed -- miss an important fact of commercial software development. Most, if not all, projects in a commercial setting contain binary blobs. For example, a DLL, or a PNG, or a Firmware blob. These are updated regularly. And they delta really awfully bad.

Also, for something as OpenOffice or Mozilla, I guess that if you really only want to work on the newest revision, the _initial_ fetch will be way cheaper than a full clone. Of course I have no numbers here, but that is what my gut feeling says.

Naturally, over time, the shallow clone will fetch in more and more objects from the upstream, eventually being almost as large as if having the complete history, but the user's experience is different: the amount of time needed to get that amount of data is much more widely spread.

Ciao, Dscho

Previous: Linus TorvaldsNext: Junio C Hamano
Message 16 of 22 in “builtin git-bundle - pack contains many more objects than required”
  1. Mark LevedahlMar 6, 2007
  2. Junio C HamanoMar 6, 2007
  3. git-bundle: fix pack generation.Junio C Hamano, Mar 6, 2007
  4. Mark LevedahlMar 7, 2007
  5. Junio C HamanoMar 7, 2007
  6. Mark LevedahlMar 7, 2007
  7. Johannes SchindelinMar 7, 2007
  8. Mark LevedahlMar 7, 2007
  9. Johannes SchindelinMar 7, 2007
  10. Junio C HamanoMar 7, 2007
  11. Mark LevedahlMar 7, 2007
  12. Johannes SchindelinMar 7, 2007
  13. Linus TorvaldsMar 7, 2007
  14. git-bundle: Make thin packsJohannes Schindelin, Mar 8, 2007
  15. Linus TorvaldsMar 8, 2007
  16. Johannes SchindelinMar 8, 2007
  17. Junio C HamanoMar 8, 2007
  18. Johannes SchindelinMar 8, 2007
  19. Junio C HamanoMar 7, 2007
  20. git-bundle: avoid packing objects which are in the prerequisitesJohannes Schindelin, Mar 7, 2007
  21. Mark LevedahlMar 8, 2007
  22. Mark LevedahlMar 7, 2007

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.