aboutsummaryrefslogtreecommitdiff
path: root/object/tree/path_prefix.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/tree/path_prefix.go')
-rw-r--r--object/tree/path_prefix.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/object/tree/path_prefix.go b/object/tree/path_prefix.go
new file mode 100644
index 00000000..ed658cee
--- /dev/null
+++ b/object/tree/path_prefix.go
@@ -0,0 +1,19 @@
+package tree
+
+import (
+ "bytes"
+ "slices"
+)
+
+// HasPathPrefix reports whether path begins with prefix as whole components.
+func HasPathPrefix(path, prefix [][]byte) bool {
+ if len(prefix) == 0 {
+ return true
+ }
+
+ if len(path) < len(prefix) {
+ return false
+ }
+
+ return slices.EqualFunc(path[:len(prefix)], prefix, bytes.Equal)
+}