ls_tree {git2r} | R Documentation |
Traverse the entries in a tree and its subtrees. Akin to the 'git ls-tree' command.
ls_tree(tree = NULL, repo = ".", recursive = TRUE)
tree |
default ( |
repo |
never used if |
recursive |
default is to recurse into sub-trees. |
A data.frame with the following columns:
UNIX file attribute of the tree entry
type of object
sha of the object
path relative to the root tree
filename of the tree entry
object size of blob (file) entries. NA for other objects.
## Not run: ## Initialize a temporary repository path <- tempfile(pattern="git2r-") dir.create(path) dir.create(file.path(path, "subfolder")) repo <- init(path) ## Create a user config(repo, user.name="Alice", user.email="alice@example.org") ## Create three files and commit writeLines("First file", file.path(path, "example-1.txt")) writeLines("Second file", file.path(path, "subfolder/example-2.txt")) writeLines("Third file", file.path(path, "example-3.txt")) add(repo, c("example-1.txt", "subfolder/example-2.txt", "example-3.txt")) commit(repo, "Commit message") ## Traverse tree entries and its subtrees. ## Various approaches that give identical result. ls_tree(tree = tree(last_commit(path))) ls_tree(tree = tree(last_commit(repo))) ls_tree(repo = path) ls_tree(repo = repo) ## Skip content in subfolder ls_tree(repo = repo, recursive = FALSE) ## Start in subfolder ls_tree(tree = "HEAD:subfolder", repo = repo) ## End(Not run)