Monorepo for Tangled tangled.org

knot2: pack objects behind client shallow boundaries #4597

Open mads.havmand.eu
targeting master from mads.havmand.eu/core:shallow-client-pack-fix
Open opened by and assigned to mads.havmand.eu
targeting master from mads.havmand.eu/core:shallow-client-pack-fix

A fetch from a client that announced shallow boundaries treated the client's haves as complete history: the send set excluded everything reachable from the haves, including ancestors the client does not hold. A want that peels to such an ancestor (an annotated tag on an older commit) then produced a pack that failed the client's connectivity check. This broke every GOPROXY=direct go get, since the go tool fetches shallowly first.

Route client-side shallow boundaries into pack selection and stop the have-closure ascent at them: the client has a shallow commit and its tree, but nothing above it. Server grafts already cut the ascent the same way.

Fixes #769

Signed-off-by: Mads R. Havmand mads@v42.dk

Commits 0