aboutsummaryrefslogtreecommitdiff
path: root/repository/open_objects.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-06 01:48:44 +0800
committerGravatar Runxi Yu2026-03-06 01:48:44 +0800
commit120509f0aad0e945d8e0fc90a822fa904fb70b68 (patch)
tree20a541f059591b35795a1a5d3b7dcf48ec711b6a /repository/open_objects.go
parentrefstore/loose: Fix package-level comment (diff)
signatureNo signature
repository: Refactor v0.1.55
Diffstat (limited to 'repository/open_objects.go')
-rw-r--r--repository/open_objects.go64
1 files changed, 0 insertions, 64 deletions
diff --git a/repository/open_objects.go b/repository/open_objects.go
deleted file mode 100644
index 61fc0f93..00000000
--- a/repository/open_objects.go
+++ /dev/null
@@ -1,64 +0,0 @@
-package repository
-
-import (
- "errors"
- "fmt"
- "os"
-
- "codeberg.org/lindenii/furgit/objectid"
- "codeberg.org/lindenii/furgit/objectstore"
- objectloose "codeberg.org/lindenii/furgit/objectstore/loose"
- objectmix "codeberg.org/lindenii/furgit/objectstore/mix"
- objectpacked "codeberg.org/lindenii/furgit/objectstore/packed"
-)
-
-func openObjectStore(root *os.Root, algo objectid.Algorithm) (objectstore.Store, *objectloose.Store, error) {
- objectsRoot, err := root.OpenRoot("objects")
- if err != nil {
- return nil, nil, fmt.Errorf("repository: open objects: %w", err)
- }
-
- looseStore, err := objectloose.New(objectsRoot, algo)
- if err != nil {
- return nil, nil, err
- }
-
- backends := []objectstore.Store{looseStore}
-
- packRoot, err := objectsRoot.OpenRoot("pack")
- if err == nil {
- var packedStore *objectpacked.Store
-
- packedStore, err = objectpacked.New(packRoot, algo)
- if err != nil {
- _ = looseStore.Close()
-
- return nil, nil, err
- }
-
- backends = append(backends, packedStore)
- } else if !errors.Is(err, os.ErrNotExist) {
- _ = looseStore.Close()
-
- return nil, nil, fmt.Errorf("repository: open objects/pack: %w", err)
- }
-
- objectsChain := objectmix.New(backends...)
-
- objectsRootForWriting, err := root.OpenRoot("objects")
- if err != nil {
- _ = objectsChain.Close()
-
- return nil, nil, fmt.Errorf("repository: open objects for loose writing: %w", err)
- }
-
- objectsLooseForWritingOnly, err := objectloose.New(objectsRootForWriting, algo)
- if err != nil {
- _ = objectsRootForWriting.Close()
- _ = objectsChain.Close()
-
- return nil, nil, err
- }
-
- return objectsChain, objectsLooseForWritingOnly, nil
-}