aboutsummaryrefslogtreecommitdiff
path: root/object/tree/path_clone.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/tree/path_clone.go')
-rw-r--r--object/tree/path_clone.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/object/tree/path_clone.go b/object/tree/path_clone.go
new file mode 100644
index 00000000..a4668add
--- /dev/null
+++ b/object/tree/path_clone.go
@@ -0,0 +1,16 @@
+package tree
+
+import (
+ "bytes"
+ "slices"
+)
+
+// ClonePath returns one deep copy of path.
+func ClonePath(path [][]byte) [][]byte {
+ cloned := slices.Clone(path)
+ for i := range cloned {
+ cloned[i] = bytes.Clone(cloned[i])
+ }
+
+ return cloned
+}