Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] git-gc

On Tue, Sep 21, 2010 at 12:28 AM, Dmitry Neverov
<dmitry.neverov@xxxxxxxxx> wrote:
> In "EGit and JGit 0.9 release review" slides git-gc marked as partially
> supported.
> Could you explain what does it mean, please?

In 0.9 we added delta generation to PackWriter.  This means JGit can
now compute a new delta from scratch, in addition to its prior support
to reuse existing deltas when possible.  This is an important part of
gc as its the algorithm responsible for most of the data compression.

What we haven't finished for git-gc yet is still very important:

- enumerate GIT_DIR/index
- enumerate valid reflogs
- expel packed but unreachable objects into loose form
- delete existing pack files after packing
- split the pack file at the configured size limit (e.g. 4 GiB)
- leave alone objects stored inside of pack files with *.keep

- prune old reflogs
- prune unreachable loose objects
- move loose refs to packed-refs

So we have the underpinnings (pack-objects) but not yet the higher
level driver (git-repack), or its meta-driver (git-gc).

-- 
Shawn.


Back to the top