aboutsummaryrefslogtreecommitdiff
path: root/object/tree/insert.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/tree/insert.go')
-rw-r--r--object/tree/insert.go24
1 files changed, 0 insertions, 24 deletions
diff --git a/object/tree/insert.go b/object/tree/insert.go
deleted file mode 100644
index 22bda74f..00000000
--- a/object/tree/insert.go
+++ /dev/null
@@ -1,24 +0,0 @@
-package tree
-
-import (
- "fmt"
- "slices"
-)
-
-// InsertEntry inserts a tree entry while preserving Git ordering.
-//
-// InsertEntry copies newEntry.Name.
-func (tree *Tree) InsertEntry(newEntry TreeEntry) error {
- if tree.entry(newEntry.Name, true) != nil || tree.entry(newEntry.Name, false) != nil {
- return fmt.Errorf("object: tree: entry %q already exists", newEntry.Name)
- }
-
- newEntry.Name = append([]byte(nil), newEntry.Name...)
-
- insertAt, _ := slices.BinarySearchFunc(tree.Entries, newEntry.Name, func(entry TreeEntry, name []byte) int {
- return TreeEntryNameCompare(entry.Name, entry.Mode, name, newEntry.Mode == FileModeDir)
- })
- tree.Entries = slices.Insert(tree.Entries, insertAt, newEntry)
-
- return nil
-}