diff options
Diffstat (limited to 'object')
| -rw-r--r-- | object/resolve/treefs_new.go | 2 | ||||
| -rw-r--r-- | object/resolve/treefs_open.go | 4 | ||||
| -rw-r--r-- | object/resolve/treefs_readdir.go | 1 | ||||
| -rw-r--r-- | object/resolve/treefs_readfile.go | 3 | ||||
| -rw-r--r-- | object/resolve/treefs_stat.go | 5 | ||||
| -rw-r--r-- | object/resolve/treefs_sub.go | 1 |
6 files changed, 15 insertions, 1 deletions
diff --git a/object/resolve/treefs_new.go b/object/resolve/treefs_new.go index a51c06af..9a48a02e 100644 --- a/object/resolve/treefs_new.go +++ b/object/resolve/treefs_new.go @@ -2,7 +2,7 @@ package resolve import "codeberg.org/lindenii/furgit/objectid" -// TreeFS returns one new filesystem view rooted at root, which may be any +// TreeFS returns a new filesystem view rooted at root, which may be any // tree-ish object accepted by PeelToTreeID. func (r *Resolver) TreeFS(root objectid.ObjectID) (*TreeFS, error) { rootTree, err := r.PeelToTreeID(root) diff --git a/object/resolve/treefs_open.go b/object/resolve/treefs_open.go index 76bd5e4f..9d97f58e 100644 --- a/object/resolve/treefs_open.go +++ b/object/resolve/treefs_open.go @@ -8,6 +8,10 @@ import ( "codeberg.org/lindenii/furgit/object" ) +// Open opens name for reading. +// +// Directories are returned as fs.ReadDirFile values. Gitlink entries are not +// readable through TreeFS. func (treeFS *TreeFS) Open(name string) (fs.File, error) { entry, err := treeFS.resolvePath(treeFSOpOpen, name) if err != nil { diff --git a/object/resolve/treefs_readdir.go b/object/resolve/treefs_readdir.go index 293dcec4..5516de33 100644 --- a/object/resolve/treefs_readdir.go +++ b/object/resolve/treefs_readdir.go @@ -2,6 +2,7 @@ package resolve import "io/fs" +// ReadDir reads and returns all directory entries for name. func (treeFS *TreeFS) ReadDir(name string) ([]fs.DirEntry, error) { file, err := treeFS.Open(name) if err != nil { diff --git a/object/resolve/treefs_readfile.go b/object/resolve/treefs_readfile.go index 72af931c..e2bc1698 100644 --- a/object/resolve/treefs_readfile.go +++ b/object/resolve/treefs_readfile.go @@ -7,6 +7,9 @@ import ( "codeberg.org/lindenii/furgit/object" ) +// ReadFile reads the blob contents at name. +// +// Directories and gitlink entries are not readable through TreeFS. func (treeFS *TreeFS) ReadFile(name string) ([]byte, error) { entry, err := treeFS.resolvePath(treeFSOpReadFile, name) if err != nil { diff --git a/object/resolve/treefs_stat.go b/object/resolve/treefs_stat.go index 5fbecac6..044ba049 100644 --- a/object/resolve/treefs_stat.go +++ b/object/resolve/treefs_stat.go @@ -2,6 +2,11 @@ package resolve import "io/fs" +// Stat returns synthetic file metadata for name. +// +// TreeFS metadata reflects Git tree entry mode and blob size where applicable. +// It does not represent filesystem stat metadata: ModTime is zero, ownership is +// unavailable, and Sys returns the underlying object.TreeEntry when one exists. func (treeFS *TreeFS) Stat(name string) (fs.FileInfo, error) { entry, err := treeFS.resolvePath(treeFSOpStat, name) if err != nil { diff --git a/object/resolve/treefs_sub.go b/object/resolve/treefs_sub.go index d8832818..f0eefdc5 100644 --- a/object/resolve/treefs_sub.go +++ b/object/resolve/treefs_sub.go @@ -2,6 +2,7 @@ package resolve 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 { |
