Expand description
smart HTTP からの clone (sans-io の状態機械)。
HTTP client は持たない。呼び出し側は next_request() が返す request を
repository URL に対して送り、response body を on_response() に渡す。
これを request が無くなるまで繰り返し、finish() で結果を取り出す。
GET <url>/info/refs?service=git-upload-pack (capability advertisement)
POST <url>/git-upload-pack (ls-refs)
POST <url>/git-upload-pack (fetch)いずれの request にも Git-Protocol: version=2 header を付けること。
Structs§
- Clone
- Clone
Options - Clone
Outcome - clone の結果。
bundle::writeにそのまま渡せる。
Enums§
- Request
- 呼び出し側が送るべき HTTP request。path は repository URL からの相対。
Constants§
- INFO_
REFS_ PATH - capability advertisement の要求先 (repository URL からの相対 path)。
- PROTOCOL_
HEADER - 全 request に付ける header。
- REQUEST_
CONTENT_ TYPE - POST body の Content-Type。
- UPLOAD_
PACK_ PATH - command の要求先 (repository URL からの相対 path)。