Re: When to repack?

From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Date: 2007-02-01 02:19:49
Hi,

On Wed, 31 Jan 2007, Andreas Ericsson wrote:

> Bill Lear wrote:
> > We have a company repo used by many people throughout the day.  When/how
> > can I repack this?  I have come to adopt this approach:
> > 
> > % mv project project.pack
> > % cd project.pack
> > % GIT_DIR=. git repack -a -d
> > % cd ..
> > % mv project.pack project
> > 
> 
> Renaming the directory isn't necessary. The packs won't be used until they
> have a .idx file. That .idx-file is written after the packfile, so any
> operations on the repo will simply use the old, loose, objects before the
> packing is completed.
> 
> The worst thing that can happen is that an object about to be fetched is
> deleted in its loose version before the upload-pack program can open it,
> but that's no worse than having the entire directory being moved out from
> under it.

AFAIR this case is handled gracefully by git. If the object it is still 
accessing moves to a(nother) pack, git will still find it.

> On a side-note, this is a grade A example of something that should 
> typically be done sunday night at 4am.

Actually, I'd recommend git-gc. It does not even call git-prune anymore, 
so there is no excuse.

I even do it interactively very often, and I just love the fact that "gc" 
is so much shorter than "repack -a -d", _plus_ it also does other cleanup 
tasks.

Ciao,
Dscho

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Feb 01 02:24:03 2007

This archive was generated by hypermail 2.1.8 : 2007-02-01 02:26:03 EST