git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Hommey <mh@glandium.org>
To: Teemu Likonen <tlikonen@iki.fi>
Cc: Nicolas Pitre <nico@cam.org>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: Why repository grows after "git gc"? / Purpose of *.keep files?
Date: Mon, 12 May 2008 23:03:04 +0200	[thread overview]
Message-ID: <20080512210304.GA17352@glandium.org> (raw)
In-Reply-To: <20080512202414.GA8620@mithlond.arda.local>

On Mon, May 12, 2008 at 11:24:14PM +0300, Teemu Likonen wrote:
> But I have experienced the same earlier with some other post-1.5.5
> version so I believe you can reproduce this yourself. After cloning
> Linus's linux-2.6 repo its .git directory weights 209MB. After single
> "git pull" and "git gc" it was 298MB in my test.

I noticed that a while ago: when repacking multiple packs when one has a
.keep file, the resulting additional pack contains too many blobs and
trees, contrary to when only packing loose objects:

$ git init
$ echo a > a; git add a; git commit -m a
$ git gc
Counting objects: 3, done.
Writing objects: 100% (3/3), done.
Total 3 (delta 0), reused 0 (delta 0)
$ git verify-pack -v .git/objects/pack/pack-b87e61e2dc18ff37624d7f996f1270f923411530.pack
4bba7c0583de30efff4097299f89b199ab4a6dff commit 160 116 12
78981922613b2afb6025042ff6bd878ac1994e85 blob   2 11 167
aaff74984cccd156a469afa7d9ab10e4777beb24 tree   29 39 128
.git/objects/pack/pack-b87e61e2dc18ff37624d7f996f1270f923411530.pack: ok

$ touch .git/objects/pack/pack-b87e61e2dc18ff37624d7f996f1270f923411530.keep
$ echo b > b; git add b; git commit -m b
$ git gc
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), done.
Total 3 (delta 0), reused 0 (delta 0)
$ git verify-pack -v
.git/objects/pack/pack-aa817046e43f278d67c6b85962676246f57bb855.pack
3683f870be446c7cc05ffaef9fa06415276e1828 tree   58 65 158
61780798228d17af2d34fce4cfbdf35556832472 blob   2 11 223
647aed0360e964adc5cedb12e0719fb8bfc05867 commit 208 146 12
.git/objects/pack/pack-aa817046e43f278d67c6b85962676246f57bb855.pack: ok

$ git gc
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), done.
Total 4 (delta 0), reused 4 (delta 0)
$ git verify-pack -v
.git/objects/pack/pack-5f692a665e062dedad7b4baf692517adec37899d.pack
3683f870be446c7cc05ffaef9fa06415276e1828 tree   58 65 158
61780798228d17af2d34fce4cfbdf35556832472 blob   2 11 234
647aed0360e964adc5cedb12e0719fb8bfc05867 commit 208 146 12
78981922613b2afb6025042ff6bd878ac1994e85 blob   2 11 223
.git/objects/pack/pack-5f692a665e062dedad7b4baf692517adec37899d.pack: ok

Mike

  reply	other threads:[~2008-05-12 21:04 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-12 12:29 Why repository grows after "git gc"? / Purpose of *.keep files? Teemu Likonen
2008-05-12 15:52 ` Teemu Likonen
2008-05-12 17:13   ` Johannes Schindelin
2008-05-12 18:43     ` Teemu Likonen
2008-05-12 18:56       ` Nicolas Pitre
2008-05-12 19:09         ` Teemu Likonen
2008-05-12 19:36           ` Nicolas Pitre
2008-05-12 20:10             ` Govind Salinas
2008-05-12 21:06               ` Nicolas Pitre
2008-05-12 21:07                 ` Govind Salinas
2008-05-12 20:24             ` Teemu Likonen
2008-05-12 21:03               ` Mike Hommey [this message]
2008-05-12 21:08                 ` Mike Hommey
2008-05-13  0:12                   ` Shawn O. Pearce
2008-05-13  5:33                     ` Mike Hommey
2008-05-14  1:03                     ` Nicolas Pitre
2008-05-14  6:43                       ` Junio C Hamano
2008-05-14  9:10                         ` Juergen Ruehle
2008-05-14 14:24                           ` Nicolas Pitre
2008-05-14 17:03                           ` Junio C Hamano
2008-05-14 20:06                           ` Linus Torvalds
2008-05-14 20:19                             ` Linus Torvalds
2008-05-14 20:29                               ` Nicolas Pitre
2008-05-14 20:36                                 ` Linus Torvalds
2008-05-14 23:24                                   ` A Large Angry SCM
2008-05-12 21:07               ` Nicolas Pitre
2008-05-12 17:17   ` David Tweed
2008-05-12 23:49     ` Shawn O. Pearce
2008-05-12 23:53       ` Junio C Hamano
2008-05-13  0:09         ` Shawn O. Pearce
2008-05-13  5:08           ` Paolo Bonzini
2008-05-13  5:22             ` Shawn O. Pearce
2008-05-13  9:22             ` Teemu Likonen
2008-05-13 21:46               ` Stephen R. van den Berg
2008-05-14  5:42                 ` Teemu Likonen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080512210304.GA17352@glandium.org \
    --to=mh@glandium.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=nico@cam.org \
    --cc=tlikonen@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).