aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 14:16:07 +0800
committerGravatar Runxi Yu2026-03-08 14:16:07 +0800
commit1137bfc1c204c34efbc8d36c0ed4db1bfd605f73 (patch)
treed1ef9f6a2c4977d7a7098ea66e1bd8f357c5636e
parentformat/pack/ingest: Use progress API (diff)
signatureNo signature
receivepack: Use progress API
-rw-r--r--receivepack/receivepack.go3
-rw-r--r--receivepack/service/ingest_quarantine.go9
-rw-r--r--receivepack/service/options.go1
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