Re: [PATCH] fast-import: Increase the default pack depth to 50

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

 



On Thu, Jun 08, 2017 at 03:05:37AM -0400, Jeff King wrote:
> On Thu, Jun 08, 2017 at 02:34:36PM +0900, Mike Hommey wrote:
> 
> > In 618e613a70, 10 years ago, the default for pack depth used for
> > git-pack-objects and git-repack was changed from 10 to 50, while
> > leaving fast-import's default to 10.
> > 
> > There doesn't seem to be a reason besides oversight for the change not
> > having happened in fast-import as well.
> > 
> > Interestingly, fast-import uses pack.depth when it's set, and the
> > git-config manual says the default for pack.depth is 50. While the
> > git-fast-import manual does say the default depth is 10, the
> > inconsistency is also confusing.
> 
> Makes sense. If anything, fast-import would want to allow a deeper depth
> than normal, since (IIRC) its delta chains are always completely linear.
> Whereas in a real pack, if we decide not to make a delta off the 50th
> item in a chain, we usually find the 48th or 49th, and end up with a
> bushier graph.
> 
> It probably doesn't matter that much, though, as you'd really want to
> `repack -f` afterwards if you care about getting good deltas. And one
> base object every 50 versions is probably fine for keeping the initial
> pack manageable.

It actually is possible to have non-linear delta chains with
fast-import, because the cat-blob command resets the delta base when
storing a blob. See
https://github.com/git/git/blob/v2.13.1/fast-import.c#L2984-L2987

As a side effect of that, git-cinnabar[1] ends up with decent-ish delta
chains out of the box, without having to go with repack -f, when the
mercurial server gives out changegroup version 2.

Mike

1. https://github.com/glandium/git-cinnabar/



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]