shithub: furgit

ref: 3ce59c3248dec0eb0f918c42f37f53bc2ac20425
dir: /object/tree/path_split.go/

View raw version
package tree

import (
	"bytes"
)

// SplitPath splits one slash-separated tree path into components.
func SplitPath(path []byte) [][]byte {
	if len(path) == 0 {
		return nil
	}

	parts := bytes.Split(path, []byte{'/'})
	for i := range parts {
		parts[i] = bytes.Clone(parts[i])
	}

	return parts
}