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

Re: basics... when reading docs doesn't help

From
Theodore Tso <tytso@mit.edu>
Date
Mar 30, 2007, 02:43 UTC
Message-ID
<20070330024327.GC3198@thunk.org>
In-Reply-To
<Pine.LNX.4.60.0703292354100.10351@poirot.grange>
On Fri, Mar 30, 2007 at 12:13:02AM +0200, Guennadi Liakhovetski wrote:
Show 9 quoted lines
> On Thu, 29 Mar 2007, J. Bruce Fields wrote:
> > Though actually on a second look, clone -l -s produces something that's
> > only 377M.  I hadn't realized how much space the build output takes up.
> > So judging from du the 1.5G Guennadi Liakhovetski mentions above seems
> > to break down into something like:
> > 
> > 	330M .git
> > 	380M working tree
> > 	750M build output

Hmm.... That doesn't look right. My packed .git directory is 156 megs (using post git 1.5 and repack.usedeltabaseoffset=true and core.legacyheaders=false).

My working tree is 287M, and my build output (size of build tree minus sources) is 1055M. (This will vary based on .config options, obviously).

The point though is the size of the .git tree is in the noise compared to the size of the object files. I do share the .git repository between trees; in fact I have a standard "base" repository which is just a mirror of Linus's tree, and my other kernel repositories have an .git/objects/info/alternates file which points at the base repository for maximal sharing.

I could try to share the sources where the source files are identical, but quite frankly, it's just never been worth the effort. After all, when you have a 100gig laptop drive, 287 megs isn't that much, and it's noise compared to the size of my object files.

> Strange. Is my git 1.4.0 criminally broken? I have a clone of Linus' tree 
> on a USB disk on ext3 without any objects, which I just cloned at some 
> point and then did a couple of pulls from the same source. 

You really, really, *REALLY* want to upgrade to at least git 1.5.0. It's is *so* much better than git 1.5.0, and it's a lot easier to make sure your repository is kept packed, using "git gc".

						- Ted
Previous: Guennadi LiakhovetskiNext: J. Bruce Fields
Message 14 of 18 in “basics... when reading docs doesn't help”
  1. Guennadi LiakhovetskiMar 29, 2007
  2. J. Bruce FieldsMar 29, 2007
  3. Junio C HamanoMar 29, 2007
  4. J. Bruce FieldsMar 29, 2007
  5. Guennadi LiakhovetskiMar 29, 2007
  6. Linus TorvaldsMar 29, 2007
  7. Guennadi LiakhovetskiMar 30, 2007
  8. Linus TorvaldsMar 30, 2007
  9. Guennadi LiakhovetskiMar 30, 2007
  10. Linus TorvaldsMar 30, 2007
  11. Theodore TsoMar 30, 2007
  12. Junio C HamanoMar 30, 2007
  13. Guennadi LiakhovetskiMar 30, 2007
  14. Theodore TsoMar 30, 2007
  15. J. Bruce FieldsMar 30, 2007
  16. Andreas HerrmannMar 30, 2007
  17. Guennadi LiakhovetskiMar 30, 2007
  18. Matthieu MoyMar 29, 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.