fix(protocol): shallow push support, v2 negotiation state, submodule mode 160000, and atomic tags #54

merged colechristensen cole.christensen@gmail.com wants to merge fix/git-protocol-negotiation-and-submodules into main

Summary of Changes

  1. Shallow Client Push Support:
    • Supported shallow <oid> lines sent by shallow git clients before ref update commands in ReceivePack.
    • Updated ci/pin_bump.exs to use standard full clone.
  2. Git Protocol v2 Multi-Round Negotiation State:
    • Preserved wants, haves, filter_spec, and shallow_opts across negotiation rounds in UploadPackV2.
  3. Submodule Mode 160000 Reachability:
    • Handled gitlink tree entries in UploadPack tree walker.
  4. Smart-HTTP & Interop:
    • Added integration test suite verifying shallow push, atomic push, and branch deletion with real git binary.
Created Aug 31, 2026 at 04:45 UTC | Merged Aug 31, 2026 at 04:52 UTC by colechristensen cole.christensen@gmail.com