ref: 3ce59c3248dec0eb0f918c42f37f53bc2ac20425
dir: /object/fetch/treefs_sub.go/
package fetch
import "io/fs"
// Sub returns a new TreeFS rooted at dir.
func (treeFS *TreeFS) Sub(dir string) (fs.FS, error) {
entry, err := treeFS.resolvePath(treeFSOpSub, dir)
if err != nil {
return nil, err
}
treeID, err := entry.subtreeID()
if err != nil {
return nil, treeFSPathError(treeFSOpSub, dir, fs.ErrInvalid)
}
return &TreeFS{
fetcher: treeFS.fetcher,
rootTree: treeID,
rootEntry: entry.treeEntry,
}, nil
}