From dd027e1e5379019bfeffc48ff1274b5e05581ff3 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 8 Mar 2026 15:33:36 +0800 Subject: objectstore: Refresh * Add manual Refresh for various objectstore's * RefreshPolicy option * Refreshable MRU and atomic snapshotting --- receivepack/service/ingest_quarantine.go | 12 ++++++++++++ receivepack/service/quarantine_objects.go | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'receivepack') diff --git a/receivepack/service/ingest_quarantine.go b/receivepack/service/ingest_quarantine.go index d4819447..5b2b706b 100644 --- a/receivepack/service/ingest_quarantine.go +++ b/receivepack/service/ingest_quarantine.go @@ -34,6 +34,18 @@ func (service *Service) ingestQuarantine( return "", nil, false } + var err error + + err = service.opts.ExistingObjects.Refresh() + if err != nil { + utils.BestEffortFprintf(service.opts.Progress, "unpack failed: refresh existing objects: %v.\n", err) + + result.UnpackError = err.Error() + fillCommandErrors(result, commands, err.Error()) + + return "", nil, false + } + pending, err := ingest.Ingest( req.Pack, service.opts.Algorithm, diff --git a/receivepack/service/quarantine_objects.go b/receivepack/service/quarantine_objects.go index 69e07a1d..0b267531 100644 --- a/receivepack/service/quarantine_objects.go +++ b/receivepack/service/quarantine_objects.go @@ -29,7 +29,7 @@ func (service *Service) openQuarantinedObjects(quarantineName string) (objectsto packRoot, err := looseRoot.OpenRoot("pack") if err == nil { - packedStore, packedErr := packed.New(packRoot, service.opts.Algorithm) + packedStore, packedErr := packed.New(packRoot, service.opts.Algorithm, packed.Options{}) if packedErr != nil { _ = packRoot.Close() _ = looseStore.Close() -- cgit v1.3.1-10-gc9f91