
Remove the data (.tsv
) file from all valid git2rdata objects at the path
.
The metadata remains untouched. A warning lists any git2rdata object with
invalid metadata. The function keeps any .tsv
file with
invalid metadata or from non-git2rdata objects.
Use this function with caution since it will remove all valid data files
without asking for confirmation. We strongly recommend to use this
function on files under version control. See
vignette("workflow", package = "git2rdata")
for some examples on how to use
this.
rm_data(root = ".", path = NULL, recursive = TRUE, ...)# S3 method for git_repository
rm_data(
root,
path = NULL,
recursive = TRUE,
...,
stage = FALSE,
type = c("unmodified", "modified", "ignored", "all")
)
returns invisibly a vector of removed files names. The paths are
relative to root
.
The root of a project. Can be a file path or a git-repository
.
Defaults to the current working directory ("."
).
the directory in which to clean all the data files. The directory
is relative to root
.
remove files in subdirectories too.
parameters used in some methods
stage the changes after removing the files. Defaults to FALSE.
Defines the classes of files to remove. unmodified
are files in
the git history and unchanged since the last commit. modified
are files in
the git history and changed since the last commit. ignored
refers to file
listed in a .gitignore
file. Selecting modified
will remove both
unmodified
and modified
data files. Selecting ìgnored
will remove
unmodified
, modified
and ignored
data files. all
refers to all
visible data files, including untracked
files.
Other storage:
display_metadata()
,
list_data()
,
prune_meta()
,
read_vc()
,
relabel()
,
rename_variable()
,
update_metadata()
,
verify_vc()
,
write_vc()
## on file system
# create a directory
root <- tempfile("git2rdata-")
dir.create(root)
# store a dataframe as git2rdata object. Capture the result to minimise
# screen output
junk <- write_vc(iris[1:6, ], "iris", root, sorting = "Sepal.Length")
# write a standard tab separate file (non git2rdata object)
write.table(iris, file = file.path(root, "standard.tsv"), sep = "\t")
# write a YAML file
yml <- list(
authors = list(
"Research Institute for Nature and Forest" = list(
href = "https://www.inbo.be/en")))
yaml::write_yaml(yml, file = file.path(root, "_pkgdown.yml"))
# list the git2rdata objects
list_data(root)
# list the files
list.files(root, recursive = TRUE)
# remove all .tsv files from valid git2rdata objects
rm_data(root, path = ".")
# check the removal of the .tsv file
list.files(root, recursive = TRUE)
list_data(root)
# remove dangling git2rdata metadata files
prune_meta(root, path = ".")
# check the removal of the metadata
list.files(root, recursive = TRUE)
list_data(root)
## on git repo
# initialise a git repo using git2r
repo_path <- tempfile("git2rdata-repo-")
dir.create(repo_path)
repo <- git2r::init(repo_path)
git2r::config(repo, user.name = "Alice", user.email = "alice@example.org")
# store a dataframe
write_vc(iris[1:6, ], "iris", repo, sorting = "Sepal.Length", stage = TRUE)
# check that the dataframe is stored
status(repo)
list_data(repo)
# commit the current version and check the git repo
commit(repo, "add iris data", session = TRUE)
status(repo)
# remove the data files from the repo
rm_data(repo, path = ".")
# check the removal
list_data(repo)
status(repo)
# remove dangling metadata
prune_meta(repo, path = ".")
# check the removal
list_data(repo)
status(repo)
Run the code above in your browser using DataLab