| orderly_validate_archive | R Documentation |
Validate unpacked packets. Over time, expect this function to become more fully featured, validating more.
orderly_validate_archive(
expr = NULL,
name = NULL,
action = "inform",
root = NULL
)
expr |
The query expression. A |
name |
Optionally, the name of the packet to scope the query on. This
will be intersected with |
action |
The action to take on finding an invalid packet. See Details. |
root |
The path to the root directory, or |
The actions that we can take on finding an invalid packet are:
inform (the default): just print information about the problem
orphan: mark the packet as orphaned within the metadata, but
do not touch the files in your archive (by default the directory
archive/) - this is a safe option and will leave you in a
consistent state without deleting anything.
delete: in addition to marking the packet as an orphan, also
delete the files from your archive.
Later, we will add a "repair" option to try and fix broken packets.
The validation interacts with the option
core.require_complete_tree; if this option is TRUE, then a
packet is only valid if all its (recursive) dependencies are also
valid, so the action will apply to packets that have also had
their upstream dependencies invalidated. This validation will
happen even if the query implied by ... does not include these
packets if a complete tree is required.
The validation will also interact with core.use_file_store once
repair is supported, as this becomes trivial.
Invisibly, a character vector of repaired (or invalid) packets.
# Start with an archive containing 4 simple packets
path <- orderly_example()
ids <- vapply(1:4, function(i) orderly_run("data", root = path), "")
# Suppose someone corrupts a packet by deleting a file:
fs::file_delete(file.path(path, "archive", "data", ids[[3]], "data.rds"))
# We can check all packets, and report on validity
orderly_validate_archive(root = path)
# Alternatively, we can take action and orphan the invalid packet:
orderly_validate_archive(action = "orphan", root = path)
# At which point the validation will not find this packet anymore
orderly_validate_archive(root = path)
# The orphaned packet will no longer be found in most operations:
orderly_search(root = path)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.