diff options
| author | 2026-03-25 14:31:16 +0000 | |
|---|---|---|
| committer | 2026-03-25 14:31:16 +0000 | |
| commit | 48ff647cf4a8bb8f23fcd6b8616f56a8ef72b980 (patch) | |
| tree | ae199c38042adaa544d5f7d31351661d5831381e /refstore/files/read_list.go | |
| parent | *: objectstore -> object/store (diff) | |
| signature | No signature | |
*: refstore -> ref/store
Diffstat (limited to 'refstore/files/read_list.go')
| -rw-r--r-- | refstore/files/read_list.go | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/refstore/files/read_list.go b/refstore/files/read_list.go deleted file mode 100644 index 358ec007..00000000 --- a/refstore/files/read_list.go +++ /dev/null @@ -1,76 +0,0 @@ -package files - -import ( - "errors" - "path" - "slices" - - "codeberg.org/lindenii/furgit/ref" - "codeberg.org/lindenii/furgit/refstore" -) - -// List lists references from the visible files ref namespace. -func (store *Store) List(pattern string) ([]ref.Ref, error) { - matchAll := pattern == "" - if !matchAll { - _, err := path.Match(pattern, "HEAD") - if err != nil { - return nil, err - } - } - - looseNames, err := store.collectLooseRefNames() - if err != nil { - return nil, err - } - - packed, err := store.readPackedRefs() - if err != nil { - return nil, err - } - - byName := make(map[string]ref.Ref, len(looseNames)+len(packed.byName)) - for _, detached := range packed.ordered { - byName[detached.Name()] = detached - } - - for _, name := range looseNames { - resolved, resolveErr := store.readLooseRef(name) - if resolveErr != nil { - if errors.Is(resolveErr, refstore.ErrReferenceNotFound) { - delete(byName, name) - - continue - } - - return nil, resolveErr - } - - byName[name] = resolved - } - - names := make([]string, 0, len(byName)) - for name := range byName { - if !matchAll { - matched, matchErr := path.Match(pattern, name) - if matchErr != nil { - return nil, matchErr - } - - if !matched { - continue - } - } - - names = append(names, name) - } - - slices.Sort(names) - - refs := make([]ref.Ref, 0, len(names)) - for _, name := range names { - refs = append(refs, byName[name]) - } - - return refs, nil -} |
