From 1137bfc1c204c34efbc8d36c0ed4db1bfd605f73 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 8 Mar 2026 14:16:07 +0800 Subject: receivepack: Use progress API --- receivepack/receivepack.go | 3 +++ receivepack/service/ingest_quarantine.go | 9 +++++---- receivepack/service/options.go | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/receivepack/receivepack.go b/receivepack/receivepack.go index 27c71660..e85ac27f 100644 --- a/receivepack/receivepack.go +++ b/receivepack/receivepack.go @@ -88,8 +88,10 @@ func ReceivePack( } progressWriter := protoSession.ProgressWriter() + progressFlush := base.FlushIO if req.Capabilities.Quiet { progressWriter = io.Discard + progressFlush = nil } serviceReq := &service.Request{ @@ -107,6 +109,7 @@ func ReceivePack( ExistingObjects: opts.ExistingObjects, ObjectsRoot: opts.ObjectsRoot, Progress: progressWriter, + ProgressFlush: progressFlush, PromotedObjectPermissions: translatePromotedObjectPermissions( opts.PromotedObjectPermissions, ), diff --git a/receivepack/service/ingest_quarantine.go b/receivepack/service/ingest_quarantine.go index 6cc4c3e3..d4819447 100644 --- a/receivepack/service/ingest_quarantine.go +++ b/receivepack/service/ingest_quarantine.go @@ -38,10 +38,11 @@ func (service *Service) ingestQuarantine( 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 { diff --git a/receivepack/service/options.go b/receivepack/service/options.go index ec451ebf..21b84e2d 100644 --- a/receivepack/service/options.go +++ b/receivepack/service/options.go @@ -22,6 +22,7 @@ type Options struct { ExistingObjects objectstore.Store ObjectsRoot *os.Root Progress io.Writer + ProgressFlush func() error PromotedObjectPermissions *PromotedObjectPermissions Hook Hook HookIO HookIO -- cgit v1.3.1-10-gc9f91