You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After Git finishes uploading a pack, our service waits silently while it imports objects, validates the update and publishes it. A real push of object-log exposed a noticeable pause after the client's Total ... line.
The local workload uploaded 6,282 objects, including 4,198 deltas, in a 2.78 MiB pack. It succeeded: the stored main matched the local branch. The missing feedback makes a working push appear stalled.
The service currently does not advertise receive-pack sideband progress. Upstream go-git provides PreReceiveInfo.Progress, but that hook runs after pack import, so merely adding a message there does not cover the whole pause.
Investigate the smallest way to provide standard Git progress during the expensive server phases, using existing go-git APIs where possible. Keep object-log itself independent of Git and Spin.
Acceptance:
An ordinary Git client receives useful progress before a slow push finishes, including during import if the existing APIs allow it.
Success is reported only after durable publication; failed and uncertain operations retain their current semantics.
Quiet clients and clients without progress negotiation still work.
Exercise the real object-log history against disposable local Spin/MinIO, alongside focused protocol/error tests. Keep added runtime code small.
Reproduce with the viewer's documented local launcher, then push this repository's main to a fresh carsonfarmer/object-log.git name. Coordinate measurements with the storage-amplification investigation so concurrent runs do not distort results.
Implemented in #115. The actual object-log history (6,282 objects) now receives negotiated server progress during pack import, then validation/publication messages before final status. Quiet/no-progress pushes and malformed-pack rejection framing passed through stock Spin/MinIO. Independent review caught continued work after a failed progress write; the request now cancels, with a regression proving zero subsequent object writes. Full make git-check passes. Signed commit; no merge yet.
Activity
carsonfarmer commentedon Sep 28, 2026
Implemented in #115. The actual object-log history (6,282 objects) now receives negotiated server progress during pack import, then validation/publication messages before final status. Quiet/no-progress pushes and malformed-pack rejection framing passed through stock Spin/MinIO. Independent review caught continued work after a failed progress write; the request now cancels, with a regression proving zero subsequent object writes. Full
make git-checkpasses. Signed commit; no merge yet.