Skip to contents

Clean up orderly draft and data directories. Deletes all drafts (possibly just for a set of report names) and then deletes dangling data sets that are not pointed to by any draft or committed reports. Running cleanup does not affect any reports that have been committed with orderly_commit() (i.e., the contents of the archive/ directory).

Usage

orderly_cleanup(
  name = NULL,
  root = NULL,
  locate = TRUE,
  draft = TRUE,
  data = TRUE,
  failed_only = FALSE
)

Arguments

name

Optional name; in this case only clean up drafts with this name

root

The path to an orderly root directory, or NULL (the default) to search for one from the current working directory if locate is TRUE.

locate

Logical, indicating if the configuration should be searched for. If TRUE and config is not given, then orderly looks in the working directory and up through its parents until it finds an orderly_config.yml file.

draft

Logical, indicating if drafts should be removed

data

Logical, indicating if dangling data should be removed (data not used by any draft or archived report).

failed_only

Delete only failed reports (those without the end-of-run metadata). This will also clean up drafts created by orderly_test_start()

Value

No return value, this function is called only for its side effects

Examples

# In a new example orderly, run two reports and commit only the
# second one:
path <- orderly::orderly_example("minimal")
id1 <- orderly::orderly_run("example", root = path)
#> [ name       ]  example
#> [ id         ]  20230621-105025-7725293e
#> [ start      ]  2023-06-21 10:50:25
#> [ data       ]  source => dat: 20 x 2
#> 
#> > png("mygraph.png")
#> 
#> > par(mar = c(15, 4, 0.5, 0.5))
#> 
#> > barplot(setNames(dat$number, dat$name), las = 2)
#> 
#> > dev.off()
#> agg_png 
#>       2 
#> [ end        ]  2023-06-21 10:50:25
#> [ elapsed    ]  Ran report in 0.01623964 secs
#> [ artefact   ]  mygraph.png: 175369b2bcf4115f343c8ad746c0c072
id2 <- orderly::orderly_run("example", root = path)
#> [ name       ]  example
#> [ id         ]  20230621-105025-83ad7397
#> [ start      ]  2023-06-21 10:50:25
#> [ data       ]  source => dat: 20 x 2
#> 
#> > png("mygraph.png")
#> 
#> > par(mar = c(15, 4, 0.5, 0.5))
#> 
#> > barplot(setNames(dat$number, dat$name), las = 2)
#> 
#> > dev.off()
#> agg_png 
#>       2 
#> [ end        ]  2023-06-21 10:50:25
#> [ elapsed    ]  Ran report in 0.01527786 secs
#> [ artefact   ]  mygraph.png: 175369b2bcf4115f343c8ad746c0c072
orderly::orderly_commit(id2, root = path)
#> [ commit     ]  example/20230621-105025-83ad7397
#> [ copy       ]
#> [ import     ]  example:20230621-105025-83ad7397
#> [ success    ]  :)
#> [1] "/tmp/RtmpGRuIRx/file476afa7968/archive/example/20230621-105025-83ad7397"

# We now have one draft and one archive report:
orderly::orderly_list_drafts(root = path)
#>      name                       id
#> 1 example 20230621-105025-7725293e
orderly::orderly_list_archive(root = path)
#>      name                       id
#> 1 example 20230621-105025-83ad7397

# To clean up the drafts:
orderly::orderly_cleanup(root = path)
#> [ clean      ]  Found 1 draft report
#> [ clean      ]  /tmp/RtmpGRuIRx/file476afa7968/draft/example/20230621-105025-7725293e
#> [ clean      ]  Found 0 csv files
#> [ clean      ]  Found 0 rds files

# We now have no draft and one archive reports:
orderly::orderly_list_drafts(root = path)
#> [1] name id  
#> <0 rows> (or 0-length row.names)
orderly::orderly_list_archive(root = path)
#>      name                       id
#> 1 example 20230621-105025-83ad7397