diff options
| author | 2026-03-28 16:33:14 +0000 | |
|---|---|---|
| committer | 2026-03-28 16:33:14 +0000 | |
| commit | 060e5b7063ec282627dde96ac028f0d40cf05c60 (patch) | |
| tree | 6a80e635a6c2f2955dfd97ab104103d6acdcf930 /object/tree/insert.go | |
| parent | object/store/{loose,packed}: TIghten language around Adler-32 (diff) | |
| signature | No signature | |
object/tree: Update docs
Diffstat (limited to 'object/tree/insert.go')
| -rw-r--r-- | object/tree/insert.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/object/tree/insert.go b/object/tree/insert.go index bca4aa49..2da86514 100644 --- a/object/tree/insert.go +++ b/object/tree/insert.go @@ -6,11 +6,15 @@ import ( ) // 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...) + newIsTree := newEntry.Mode == FileModeDir insertAt := sort.Search(len(tree.Entries), func(i int) bool { return TreeEntryNameCompare(tree.Entries[i].Name, tree.Entries[i].Mode, newEntry.Name, newIsTree) >= 0 |
