fangorn/ex_git_objectstore
public
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.