sx-git extension: git-wire import — the inverse adapter, round-trip law (TDD)

lib/git/import.sx parses loose payloads back to native objects bottom-up
over an export-set table: tree mode/name/raw-sha triples, ident lines,
header/message split, committer stored only when distinct so export
defaults regenerate identical bytes. Laws verified: export->import->export
is BYTE-IDENTICAL (head sha + every object), imported blobs/default-mode
trees regain their original native cids, 100755/tags/distinct-committer/
multi-line messages all survive. 15/15, total 267/267.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 12:52:24 +00:00
parent e228d462eb
commit 2c9e8e4850
5 changed files with 426 additions and 5 deletions

View File

@@ -7,9 +7,10 @@
"diff": {"pass": 27, "fail": 0},
"merge": {"pass": 28, "fail": 0},
"porcelain": {"pass": 40, "fail": 0},
"export": {"pass": 25, "fail": 0}
"export": {"pass": 25, "fail": 0},
"import": {"pass": 15, "fail": 0}
},
"total_pass": 252,
"total_pass": 267,
"total_fail": 0,
"total": 252
"total": 267
}