[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Move to git is imminent - awaiting Stefan's approval

From: Bob Proulx
Subject: Re: Move to git is imminent - awaiting Stefan's approval
Date: Sat, 11 Jan 2014 23:27:22 -0700
User-agent: Mutt/1.5.21 (2010-09-15)

Andreas Schwab wrote:
> Eli Zaretskii writes:
> > So I guess we will need to repack the repository on savannah as a
> > prerequisite for switching, and then make sure it is repacked
> > regularly afterwards.
> I think what should be done is to increase the default configuration
> value of pack.window for the git repos on savannah.  That should help
> keeping the packs better packed in the long run.

All of the repositories are repacked monthly on the 4th.  As you can
see it is a heavy operation and therefore not run every day.  But this
thread seems to have exposed a deficiency in the current repacking.
Currently the script does:

  git --git-dir=$dir gc -q

Obvious from the discussion here that is not sufficient.  However:

Angelo Graziosi wrote:
> $ git gc --aggressive
> Counting objects: 735546, done.
> Delta compression using up to 2 threads.
> Compressing objects: 100% (734446/734446), done.
> Writing objects: 100% (735546/735546), done.
> Total 735546 (delta 589814), reused 143177 (delta 0)
> Checking connectivity: 735546, done.
> which took almost 3 hours to be completed.

Eli Zaretskii wrote:
> And now I understand why git ran out of memory on Windows XP: the
> memory footprint of git-pack-objects goes up to 3GB, whereas Windows
> XP has only 3GB address space for all the applications.

Three hours and 3G of memory for this one repack!  I worry that
turning --agressive on globally will cause the server to fall over.
Also apparently careful tuning of threads is needed.  However the disk
and network savings look significant.

I have a couple of questions if someone already has the clone
available for a test.  Does a clone from the agressively repacked to
327M repository remain similarly compacted when cloned again from it?

If an agressively repacked repository is again repacked but this time
without the --agressive option does the size stay around 327M or does
it get expanded on the subsequent pass?  (Wondering if we can
periodically run 'git gc --agressive' on the larger git repositories
at a niced background task priority but not too often and still
achieve a good benefit for the time between agressive repacks.)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]