Show 11 quoted lines
> On Mon, Jun 11, 2012 at 01:27:32PM -0400, Ted Ts'o wrote:
>> So depending on how you would want to do the comparison, probably
>> the
>> fairest thing to say is that I had a total "good" packs totally
>> about
>> 16 megs, and the loose cruft objects was an additional 4.5
>> megabytes.
>
> OK, so that 4.5 is at least a respectable percentage of the total
> repo
> size. I suspect it may be worse for small repos in that sense, (...)
'git gc' gave a 3100% increase with my example:
$ git clone --bare --branch linux-overhaul-20010122 \
git://git.savannah.gnu.org/config.git
$ cd config.git/
$ git tag -d `git tag`; git branch -D master
$ du -s objects
624 objects
$ git gc
$ du -s objects
19840 objects Basically: Clone/fetch a repo, keep a small part of it, drop the
rest, and gc. Gc explodes all the objects you no longer want.
This hits you hard if your small project tracks a big one, and
later ceases doing so. Maybe your project is to convert a small
part of the remote into a library, or you're just tracking a few
files from the remote - e.g. from the GNU Config repo.
Not something one does every day, but it does happen.
Tweaks to expiration time etc do not help here.
Hallvard