readTree
Read a tree object directly
param | type [= default] | description |
---|---|---|
fs | FsClient | a file system client |
dir | string | The working tree directory path |
gitdir | string = join(dir,'.git') | The git directory path |
oid | string | The SHA-1 object id to get. Annotated tags and commits are peeled. |
filepath | string | Don't return the object with oid itself, but resolve oid to a tree and then return the tree object at that filepath. |
cache | object | a cache object |
return | Promise<ReadTreeResult> | Resolves successfully with a git tree object |
The object returned has the following schema:
type ReadTreeResult = {
oid: string; // SHA-1 object id of this tree
tree: TreeObject; // the parsed tree object
}
A git tree object. Trees represent a directory snapshot.
type TreeObject = Array<TreeEntry>;
An entry from a git tree object. Files are called 'blobs' and directories are called 'trees'.
type TreeEntry = {
mode: string; // the 6 digit hexadecimal mode
path: string; // the name of the file or directory
oid: string; // the SHA-1 object id of the blob or tree
type: 'commit' | 'blob' | 'tree'; // the type of object
}
Tip: If you need a clean slate, expand and run this snippet to clean up the file system.
window.fs = new LightningFS('fs', { wipe: true })
window.pfs = window.fs.promises
console.log('done')