aboutsummaryrefslogtreecommitdiff
path: root/receivepack
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 15:33:36 +0800
committerGravatar Runxi Yu2026-03-08 15:44:32 +0800
commitdd027e1e5379019bfeffc48ff1274b5e05581ff3 (patch)
tree1f6b8f55957e706eeed801079ab42f3069085746 /receivepack
parentformat/pack/ingest: Thin fix error handling (diff)
signatureNo signature
objectstore: Refresh v0.1.80
* Add manual Refresh for various objectstore's * RefreshPolicy option * Refreshable MRU and atomic snapshotting
Diffstat (limited to 'receivepack')
-rw-r--r--receivepack/service/ingest_quarantine.go12
-rw-r--r--receivepack/service/quarantine_objects.go2
2 files changed, 13 insertions, 1 deletions
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()