diff options
Diffstat (limited to 'object/store/packed/new.go')
| -rw-r--r-- | object/store/packed/new.go | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/object/store/packed/new.go b/object/store/packed/new.go index 96339f3d..efcdd602 100644 --- a/object/store/packed/new.go +++ b/object/store/packed/new.go @@ -1,33 +1,20 @@ package packed import ( - "fmt" "os" objectid "codeberg.org/lindenii/furgit/object/id" + "codeberg.org/lindenii/furgit/object/store/packed/internal/reading" ) // New creates a packed-object store rooted at an objects/pack directory. // // Labels: Deps-Borrowed, Life-Parent. func New(root *os.Root, algo objectid.Algorithm, opts Options) (*Store, error) { - if algo.Size() == 0 { - return nil, objectid.ErrInvalidAlgorithm + reader, err := reading.New(root, algo, opts.toReadingOptions()) + if err != nil { + return nil, err } - switch opts.RefreshPolicy { - case RefreshPolicyOnMissing, RefreshPolicyNever: - default: - return nil, fmt.Errorf("objectstore/packed: invalid refresh policy %d", opts.RefreshPolicy) - } - - return &Store{ - root: root, - algo: algo, - refreshPolicy: opts.RefreshPolicy, - mruNodeByPack: make(map[string]*packCandidateNode), - idxByPack: make(map[string]*idxFile), - packs: make(map[string]*packFile), - deltaCache: newDeltaCache(defaultDeltaCacheMaxBytes), - }, nil + return &Store{reader: reader}, nil } |
