ref: 0b2dcaabe23d45f6feb2273031854b14b512e3ff
dir: /object/tree/remove.go/
package tree
import (
"bytes"
"fmt"
)
// RemoveEntry removes a tree entry by name.
func (tree *Tree) RemoveEntry(name []byte) error {
if len(tree.Entries) == 0 {
return fmt.Errorf("object: tree: entry %q not found", name)
}
for i := range tree.Entries {
if bytes.Equal(tree.Entries[i].Name, name) {
copy(tree.Entries[i:], tree.Entries[i+1:])
tree.Entries = tree.Entries[:len(tree.Entries)-1]
return nil
}
}
return fmt.Errorf("object: tree: entry %q not found", name)
}