On Mon, Aug 24, 2020 at 01:38:35PM -0700, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > I think it may be worth making this a configurable value > > (core.maxDeltaDepth or something). Nobody would generally need to tweak > > it, but it would give an escape hatch for getting people out of a broken > > situation ("git -c core.maxDeltaDepth=50000 repack" or similar). > > ... meaning "the pack I have has overlong delta chains to read, and > I am running repack to cut these chains down to more manageable > level"? Makes sense. Exactly. > As it may be a bit tricky to figure out where we should read such a > configuration for those who are new to our codebase, here is an > illustration to give a starting point. Docs and tests are probably > needed, too. It may be hard to test, as I suspect modern versions of Git are not happy to create such a deep chain. We could test with a lowered value of the config option, though. It may also be worth introducing a true cycle using non-git commands. There's some coverage there in t/t5309-pack-delta-cycles.sh. I think we were mainly concerned there with how index-pack treats them, and it would be nice to see how other commands react. Though I guess that creates another testing difficulty: those other commands would need a pack index, and we'd refuse to create one. :) So I think it would require adding code to manually create a bogus idx file (or I guess shipping one as a fixture). -Peff