Learn R Programming

track (version 1.0-13)

track.sync: Synchronize the tracking database stored in files on disk to reflect changed, new, or deleted objects in R

Description

Synchronize the tracking database to reflect new and/or deleted objects. This function is intended to be called by a task callback so that the tracking database keeps up with new and deleted object automatically. The appropriate task callback is installed by track.start(..., auto = TRUE).

This function differs from track.rescan() in that track.rescan() updates R view of the database to agree with changes on disk, while track.sync() is primarily intended to go the other way (to make the disk database agree with R).

Usage

track.sync(pos = 1, master=c("auto", "envir", "files"), envir = as.environment(pos),
           trackingEnv = getTrackingEnv(envir), full = TRUE,
           dryRun = FALSE, taskEnd = FALSE)

Arguments

pos
The search path position of the environment being tracked (default is 1 for the global environment)
master
What to treat as the master for the synchronization. For a readonly tracked environment, the default auto will default to "files" (the only sensible interpretation). Otherwise, must be supplied (to avoid accidents wit
envir
The environment being tracked. This is an alternate way (to the use of pos=) of specifying the environment being tracked, but should be rarely needed.
trackingEnv
The environment that contains data for the tracking database.
full
If TRUE, do a full check, which involves checking that all apparently tracked variables do in fact have an active binding. If NA, only do a full check if more than track.options("autoTrackFullSyncWait")
dryRun
If TRUE, no changes are made to either the file system or to the R environment, but changes that would be made are printed out. Note that a change to a file for a tracked variable will not be detect.
taskEnd
Should be TRUE when called at the end of a top-level command task (i.e., when called by the task callback handler.)

Value

  • Returns an invisible list with the following components:
  • newcharacter vector of names of new variables
  • removedcharacter vector of names of variables that were removed

Details

Synchronizing the tracking database with the contents of the environment involves three tasks:
  1. start tracking new untracked variables
  2. for objects that have disappeared from the environment, delete them from the tracking database
  3. check that all apparently tracked variables do in fact have an active binding

Currently, this function will not correctly handle the case where master="files" and where objects are cached and an underlying file is changed.

See Also

track.rescan for rescanning a tracked database after the files on disk have changed (this is usually only used for tracked environment attached at a position 2 or greater.)

Overview and design of the track package.