diff options
| author | 2026-03-30 06:00:15 +0000 | |
|---|---|---|
| committer | 2026-03-30 06:00:15 +0000 | |
| commit | 22f7dcbf39e064de83ba56ed2aaf20bd64b239aa (patch) | |
| tree | 8ad676038c40eea47372c13bf5f3b0d82e4860be /object/tree/remove.go | |
| parent | network/receivepack/service: Remove erroneous assignment (diff) | |
| signature | No 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.go | 15 |
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 } |
