ref:main
fix(protocol): preserve negotiation state in v2, handle submodule gitlinks, and support atomic tags #53
merged
cole.christensen@gmail.com wants to merge
fix/git-protocol-negotiation-and-submodules
into main
No CI
Summary of Changes
- Protocol v2 Multi-Round Negotiation State:
- Persisted
wants,haves,filter_spec, andshallow_optsinUploadPackV2.stateacross negotiation rounds. - Fixed bug where round 2+ requests omitting the
wantlist resulted in 0 objects being packed.
- Persisted
- Submodule Gitlink Mode 160000 Reachability:
- Added
mode: "160000"handling inUploadPack(v1) tree walker to prevent submodule commit pointers from being treated as missing loose objects during reachability walks.
- Added
- Smart HTTP & Atomic Tag Interoperability:
- Added tests and verified push with
--atomic, annotated tags (refs/tags/v1.0.0^{}peeling), and branch deletions with standardgitbinary.
- Added tests and verified push with
- diff3 Merge Correctness:
- Handled single-sided and non-overlapping diff hunk additions without empty line artifacts.
Created Aug 31, 2026 at 00:12 UTC
| Merged Aug 31, 2026 at 01:00 UTC
by
cole.christensen@gmail.com