ref:main

Realistic-client protocol coverage — master tracking issue #30

closed Opened by cole.christensen@gmail.com

Links

No links yet.

Umbrella for the protocol-conformance gaps surfaced by the realistic-client test suite (see test/ex_git_objectstore/integration/*). Each item below corresponds to one or more skipped tests in that suite.

UploadPackV2

  • `ls-refs` honours the `symrefs` argument (advertise HEAD as a symbolic ref)
  • `ls-refs` honours the `peel` argument (report annotated tag targets)
  • `ls-refs` honours the `unborn` argument (report unborn HEAD for empty repos)
  • Shallow fetch — implement `shallow-info` section so `–depth=N` works
  • `deepen` / `deepen-since` / `deepen-not` for incremental shallow
  • Partial clone — accept `filter ` and advertise `filter` capability
  • `wait-for-done` capability (prerequisite for `–negotiate-only` support)
  • Multi-round negotiation — state machine currently terminates after one fetch command

ReceivePack

  • `atomic` capability — reject the whole ref-update batch when any update fails

State machine

  • Issue #29 — `has_complete_command?` treats `delim` (0001) as a command terminator; TCP-chunked requests produce divergent responses

Each bullet has at least one `@tag skip:` test in the integration suite that references this issue (or specifics). When a bullet is addressed, remove the `skip:` tag and assert the test goes green.