aboutsummaryrefslogtreecommitdiff
path: root/object/tree/entry.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/tree/entry.go')
-rw-r--r--object/tree/entry.go57
1 files changed, 0 insertions, 57 deletions
diff --git a/object/tree/entry.go b/object/tree/entry.go
deleted file mode 100644
index b3089b74..00000000
--- a/object/tree/entry.go
+++ /dev/null
@@ -1,57 +0,0 @@
-package tree
-
-import (
- "bytes"
- "slices"
-
- objectid "codeberg.org/lindenii/furgit/object/id"
-)
-
-// TreeEntry represents a single entry in a tree.
-type TreeEntry struct {
- Mode FileMode
- // Name is part of the tree ordering. Mutating it after insertion may break
- // Tree ordering and lookup behavior.
- Name []byte
- ID objectid.ObjectID
-}
-
-func (tree *Tree) entry(name []byte, searchIsTree bool) *TreeEntry {
- index, ok := slices.BinarySearchFunc(tree.Entries, name, func(entry TreeEntry, name []byte) int {
- return TreeEntryNameCompare(entry.Name, entry.Mode, name, searchIsTree)
- })
- if !ok {
- return nil
- }
-
- entry := &tree.Entries[index]
- if !bytes.Equal(entry.Name, name) {
- return nil
- }
-
- return entry
-}
-
-func (tree *Tree) entryIndex(name []byte) (int, bool) {
- index, ok := tree.entryIndexWithMode(name, true)
- if ok {
- return index, true
- }
-
- return tree.entryIndexWithMode(name, false)
-}
-
-func (tree *Tree) entryIndexWithMode(name []byte, searchIsTree bool) (int, bool) {
- index, ok := slices.BinarySearchFunc(tree.Entries, name, func(entry TreeEntry, name []byte) int {
- return TreeEntryNameCompare(entry.Name, entry.Mode, name, searchIsTree)
- })
- if !ok {
- return 0, false
- }
-
- if !bytes.Equal(tree.Entries[index].Name, name) {
- return 0, false
- }
-
- return index, true
-}