fangorn/ex_git_objectstore
public
ref:main
feat: wire Fsck into ReceivePack as a pre-commit integrity gate #51
open
Opened by cole.christensen@gmail.com
Links
No links yet.
ExGitObjectstore.Fsck exists but isn’t wired into ReceivePack. A corrupt or malformed push currently lands on disk.
Scope
ReceivePack.init/2gainsfsck: :strict | :permissive | :disabledopt.- On receipt of a pack, validate every object before advancing any ref.
- Strict: reject push with side-band error message on any fsck finding.
- Permissive: warn via side-band, accept.
- Match git’s
receive.fsckObjectsconfig semantics.
Acceptance
- A push with a commit whose tree-sha points at nonexistent object is rejected (strict).
- Pushes with only cosmetic findings (e.g. missing email) are accepted in permissive mode with a side-band warning.