Expand description
no_std 前提の git client core。
外部 crate に依存せず、alloc のみを要求する。I/O を持たず、入力は常に
&[u8] として受け取る (組み込みでは flash 上のデータを直接参照できる)。
feature 構成:
- (常時): oid、SHA-1、zlib inflate、loose object の parse
pack: packfile v2 の解析と delta 解決bundle: bundle v2/v3 の読み書き (packを内包)history: committer date 順の history walktransport-http: protocol v2 の request 構築と response 解析 (sans-io)fetch: smart HTTP からの clone 状態機械 (transport-http+bundle)write: object (tree / commit) の生成と packfile の書き出しpush: smart HTTP への push 状態機械 (receive-pack、write+transport-http)checkout: tree の展開 (filesystem は frontend の責務)
Modules§
- build
- object (tree / commit / tag) の生成。
- bundle
- git bundle (v2 / v3) の読み込み。
- checkout
- tree の展開 (checkout)。
- clone
- smart HTTP からの clone (sans-io の状態機械)。
- delta
- packfile の delta (git 独自形式) の適用。
- err
- ライブラリ全体で共有するエラー型。
- history
- commit history の walk。
- object
- git object (commit / tree / blob / tag) の解析。
- oid
- object id (SHA-1)。
- pack
- packfile (version 2) の解析。
- pkt
- pkt-line (gitprotocol-common) の符号化・復号。
- protov0
- receive-pack (push) の protocol version 0。
- protov2
- git protocol version 2 (gitprotocol-v2) の request 構築と response 解析。
- push
- smart HTTP への push (sans-io の状態機械)。
- sha1
- SHA-1 (RFC 3174)。
- zlib
- zlib (RFC 1950) / DEFLATE (RFC 1951) の伸長。
Traits§
- Odb
- object database の読み出し抽象。pack、loose object、メモリ上のストア等が実装する。