Am 30.08.20 um 05:33 schrieb ori@xxxxxxxxxxxxxx: >> Jeff King <peff@xxxxxxxx> writes: >> >>> 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. >> >> Yes, that was what I meant. Start from a 1KB text, create 50 >> revisions of the file by adding a single line at its end at a time, >> pack with depth limit of 100, and then see "git log -p" die when the >> allowed max lowered to 10, or something like that. > > Sorry about the delay -- most of my time to poke at this is over the weekend. > > Will that work? I'd expect that modern pack files end up being > offset deltas, rather than reference deltas. True, but going down all the way would work: diff --git a/t/t5316-pack-delta-depth.sh b/t/t5316-pack-delta-depth.sh index 0f06c40eb1..7fd21cd3ce 100755 --- a/t/t5316-pack-delta-depth.sh +++ b/t/t5316-pack-delta-depth.sh @@ -94,4 +94,15 @@ test_expect_success '--depth limits depth' ' test_i18ncmp expect actual ' +test_expect_success 'maxAllowedDeltaDepth is respected' ' + git clone . clone1 && + ( + cd clone1 && + git repack -a -d && + test_config core.maxAllowedDeltaDepth 0 && + test_must_fail git fsck 2>err && + test_i18ngrep "overlong delta chain" err + ) +' + test_done