Show which targets are outdated.
Usage
tar_git_status_targets(
script = targets::tar_config_get("script"),
store = targets::tar_config_get("store"),
reporter = targets::tar_config_get("reporter_outdated"),
envir = parent.frame(),
callr_function = callr::r,
callr_arguments = NULL
)
Arguments
- script
Character of length 1, path to the target script file. Defaults to
tar_config_get("script")
, which in turn defaults to_targets.R
. When you set this argument, the value oftar_config_get("script")
is temporarily changed for the current function call. Seetar_script()
,tar_config_get()
, andtar_config_set()
for details about the target script file and how to set it persistently for a project.- store
Character of length 1, path to the
targets
data store. Defaults totar_config_get("store")
, which in turn defaults to_targets/
. When you set this argument, the value oftar_config_get("store")
is temporarily changed for the current function call. Seetar_config_get()
andtar_config_set()
for details about how to set the data store path persistently for a project.- reporter
Character of length 1, name of the reporter to user. Controls how messages are printed as targets are checked. Choices:
"silent"
: print nothing."forecast"
: print running totals of the checked and outdated targets found so far.
- envir
An environment, where to run the target R script (default:
_targets.R
) ifcallr_function
isNULL
. Ignored ifcallr_function
is anything other thanNULL
.callr_function
should only beNULL
for debugging and testing purposes, not for serious runs of a pipeline, etc.The
envir
argument oftar_make()
and related functions always overrides the current value oftar_option_get("envir")
in the current R session just before running the target script file, so whenever you need to set an alternativeenvir
, you should always set it withtar_option_set()
from within the target script file. In other words, if you calltar_option_set(envir = envir1)
in an interactive session and thentar_make(envir = envir2, callr_function = NULL)
, thenenvir2
will be used.- callr_function
A function from
callr
to start a fresh clean R process to do the work. Set toNULL
to run in the current session instead of an external process (but restart your R session just before you do in order to clear debris out of the global environment).callr_function
needs to beNULL
for interactive debugging, e.g.tar_option_set(debug = "your_target")
. However,callr_function
should not beNULL
for serious reproducible work.- callr_arguments
A list of arguments to
callr_function
.
Details
This function has prettier output than targets::tar_outdated()
,
and it mainly serves tar_git_status()
.
See also
Other git:
tar_git_checkout()
,
tar_git_init()
,
tar_git_log()
,
tar_git_ok()
,
tar_git_snapshot()
,
tar_git_status_code()
,
tar_git_status_data()
,
tar_git_status()
Examples
targets::tar_dir({ # Containing code does not modify the user's file space.
targets::tar_script(tar_target(data, 1))
targets::tar_make()
list.files("_targets", all.files = TRUE)
tar_git_status_targets()
})
#> ✖ empty pipeline [0.046 seconds]
#> Warning message:
#> package ‘targets’ was built under R version 4.4.2
#>
#>
#> ── Debugging ───────────────────────────────────────────────────────────────────
#>
#> ── How to ──────────────────────────────────────────────────────────────────────
#>
#> ── Last error message ──────────────────────────────────────────────────────────
#>
#> ── Last error traceback ────────────────────────────────────────────────────────
#> Error: targets::tar_make() error
#> • tar_errored()
#> • tar_meta(fields = any_of("error"), complete_only = TRUE)
#> • tar_workspace()
#> • tar_workspaces()
#> • Debug: https://books.ropensci.org/targets/debugging.html
#> • Help: https://books.ropensci.org/targets/help.html
#> there is no package called ‘autometric’
#> base::tryCatch(base::withCallingHandlers({ NULL base::saveRDS(base::do.c...
#> tryCatchList(expr, classes, parentenv, handlers)
#> tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]), na...
#> doTryCatch(return(expr), name, parentenv, handler)
#> tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
#> tryCatchOne(expr, names, parentenv, handlers[[1L]])
#> doTryCatch(return(expr), name, parentenv, handler)
#> base::withCallingHandlers({ NULL base::saveRDS(base::do.call(base::do.ca...
#> base::saveRDS(base::do.call(base::do.call, base::c(base::readRDS("/tmp/R...
#> base::do.call(base::do.call, base::c(base::readRDS("/tmp/RtmpG8JSfU/call...
#> (function (what, args, quote = FALSE, envir = parent.frame()) { if (!is....
#> (function (targets_function, targets_arguments, options, envir = NULL, s...
#> tryCatch(out <- withCallingHandlers(targets::tar_callr_inner_try(targets...
#> tryCatchList(expr, classes, parentenv, handlers)
#> tryCatchOne(expr, names, parentenv, handlers[[1L]])
#> doTryCatch(return(expr), name, parentenv, handler)
#> withCallingHandlers(targets::tar_callr_inner_try(targets_function = targ...
#> targets::tar_callr_inner_try(targets_function = targets_function, target...
#> do.call(targets_function, targets_arguments)
#> (function (pipeline, path_store, names_quosure, shortcut, reporter, seco...
#> local_init(pipeline = pipeline, meta = meta_init(path_store = path_store...
#> self$process_next()
#> self$process_target(self$scheduler$queue$dequeue())
#> self$run_target(target)
#> target_prepare(target, self$pipeline, self$scheduler, self$meta)
#> target_prepare.tar_builder(target, self$pipeline, self$scheduler, self$m...
#> loadNamespace(x)
#> withRestarts(stop(cond), retry_loadNamespace = function() NULL)
#> withOneRestart(expr, restarts[[1L]])
#> doWithOneRestart(return(expr), restart)