diff options
| author | 2026-03-06 01:48:44 +0800 | |
|---|---|---|
| committer | 2026-03-06 01:48:44 +0800 | |
| commit | 120509f0aad0e945d8e0fc90a822fa904fb70b68 (patch) | |
| tree | 20a541f059591b35795a1a5d3b7dcf48ec711b6a /repository/open_objects.go | |
| parent | refstore/loose: Fix package-level comment (diff) | |
| signature | No signature | |
repository: Refactor v0.1.55
Diffstat (limited to 'repository/open_objects.go')
| -rw-r--r-- | repository/open_objects.go | 64 |
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 -} |
