diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 6d13cd3e1a..ea7a5b3ba5 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -3871,6 +3871,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) (1U << OE_Z_DELTA_BITS) - 1); cache_max_small_delta_size = (1U << OE_Z_DELTA_BITS) - 1; } + if (window < 0) + window = 0; strvec_push(&rp, "pack-objects"); if (thin) { diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index 887e2d8d88..5c5e53f0be 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -613,4 +613,9 @@ test_expect_success '--stdin-packs with broken links' ' ) ' +test_expect_success 'negative window clamps to 0' ' + git pack-objects --progress --window=-1 neg-window stderr && + check_deltas stderr = 0 +' + test_done