shithub: furgit

Download patch

ref: 1137bfc1c204c34efbc8d36c0ed4db1bfd605f73
parent: 4a17412255e294e99f2d11e9b8458e30bbe58292
author: Runxi Yu <me@runxiyu.org>
date: Sun Mar 8 10:16:07 EDT 2026

receivepack: Use progress API

--- a/receivepack/receivepack.go
+++ b/receivepack/receivepack.go
@@ -88,8 +88,10 @@
 	}
 
 	progressWriter := protoSession.ProgressWriter()
+	progressFlush := base.FlushIO
 	if req.Capabilities.Quiet {
 		progressWriter = io.Discard
+		progressFlush = nil
 	}
 
 	serviceReq := &service.Request{
@@ -107,6 +109,7 @@
 		ExistingObjects: opts.ExistingObjects,
 		ObjectsRoot:     opts.ObjectsRoot,
 		Progress:        progressWriter,
+		ProgressFlush:   progressFlush,
 		PromotedObjectPermissions: translatePromotedObjectPermissions(
 			opts.PromotedObjectPermissions,
 		),
--- a/receivepack/service/ingest_quarantine.go
+++ b/receivepack/service/ingest_quarantine.go
@@ -38,10 +38,11 @@
 		req.Pack,
 		service.opts.Algorithm,
 		ingest.Options{
-			FixThin:  true,
-			WriteRev: true,
-			Base:     service.opts.ExistingObjects,
-			Progress: service.opts.Progress,
+			FixThin:       true,
+			WriteRev:      true,
+			Base:          service.opts.ExistingObjects,
+			Progress:      service.opts.Progress,
+			ProgressFlush: service.opts.ProgressFlush,
 		},
 	)
 	if err != nil {
--- a/receivepack/service/options.go
+++ b/receivepack/service/options.go
@@ -22,6 +22,7 @@
 	ExistingObjects           objectstore.Store
 	ObjectsRoot               *os.Root
 	Progress                  io.Writer
+	ProgressFlush             func() error
 	PromotedObjectPermissions *PromotedObjectPermissions
 	Hook                      Hook
 	HookIO                    HookIO
--