aboutsummaryrefslogtreecommitdiff
path: root/object/tree/remove.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-30 06:00:15 +0000
committerGravatar Runxi Yu2026-03-30 06:00:15 +0000
commit22f7dcbf39e064de83ba56ed2aaf20bd64b239aa (patch)
tree8ad676038c40eea47372c13bf5f3b0d82e4860be /object/tree/remove.go
parentnetwork/receivepack/service: Remove erroneous assignment (diff)
signatureNo signature
object/tree: Why wasn't I binary searching for remove v0.1.154
Diffstat (limited to 'object/tree/remove.go')
-rw-r--r--object/tree/remove.go15
1 files changed, 6 insertions, 9 deletions
diff --git a/object/tree/remove.go b/object/tree/remove.go
index 9a099842..94de88da 100644
--- a/object/tree/remove.go
+++ b/object/tree/remove.go
@@ -1,7 +1,6 @@
package tree
import (
- "bytes"
"fmt"
"slices"
)
@@ -12,14 +11,12 @@ func (tree *Tree) RemoveEntry(name []byte) error {
return fmt.Errorf("object: tree: entry %q not found", name)
}
- index := slices.IndexFunc(tree.Entries, func(entry TreeEntry) bool {
- return bytes.Equal(entry.Name, name)
- })
- if index >= 0 {
- tree.Entries = slices.Delete(tree.Entries, index, index+1)
-
- return nil
+ index, ok := tree.entryIndex(name)
+ if !ok {
+ return fmt.Errorf("object: tree: entry %q not found", name)
}
- return fmt.Errorf("object: tree: entry %q not found", name)
+ tree.Entries = slices.Delete(tree.Entries, index, index+1)
+
+ return nil
}