diff options
Diffstat (limited to 'object/tree/insert.go')
| -rw-r--r-- | object/tree/insert.go | 24 |
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 -} |
