Skip to contents

Set and get default remote locations. Default locations are specific to an orderly repository (based on the path of the repository) so there is no interaction between different orderly projects.

Usage

orderly_default_remote_set(value, root = NULL, locate = TRUE)

orderly_default_remote_get(root = NULL, locate = TRUE)

Arguments

value

A string describing a remote, a remote object, or NULL to clear

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.

Value

The default remote (for orderly_default_remote_get). The function orderly_default_remote_set is called for its side effects only.

Examples

# Same setup as in orderly_remote_path, with a remote orderly:
path_remote <- orderly::orderly_example("demo")
id <- orderly::orderly_run("other", list(nmin = 0),
                           root = path_remote, echo = FALSE)
#> [ name       ]  other
#> [ id         ]  20230621-105028-24c4f733
#> [ sources    ]  functions.R
#> [ parameter  ]  nmin: 0
#> [ start      ]  2023-06-21 10:50:28
#> [ data       ]  source => extract: 20 x 2
#> [ parameter  ]  nmin: 0
#> [ end        ]  2023-06-21 10:50:28
#> [ elapsed    ]  Ran report in 0.01815748 secs
#> [ artefact   ]  summary.csv: 3fac8347e152c84c96e6676413c718b7
#> [ ...        ]  graph.png: a70cdfd037035a0b34e71b921fc9de42
orderly::orderly_commit(id, root = path_remote)
#> [ commit     ]  other/20230621-105028-24c4f733
#> [ copy       ]
#> [ import     ]  other:20230621-105028-24c4f733
#> [ success    ]  :)
#> [1] "/tmp/RtmpGRuIRx/file474c60d83e/archive/other/20230621-105028-24c4f733"
id <- orderly::orderly_run("use_dependency",
                           root = path_remote, echo = FALSE)
#> [ name       ]  use_dependency
#> [ id         ]  20230621-105028-6632c2e5
#> [ depends    ]  other@20230621-105028-24c4f733:summary.csv -> incoming.csv
#> [ start      ]  2023-06-21 10:50:28
#> [ end        ]  2023-06-21 10:50:28
#> [ elapsed    ]  Ran report in 0.01294088 secs
#> [ artefact   ]  graph.png: a70cdfd037035a0b34e71b921fc9de42
#> [ ...        ]  info.rds: 5255656bd83f9cb2fbc415c6877accc9
orderly::orderly_commit(id, root = path_remote)
#> [ commit     ]  use_dependency/20230621-105028-6632c2e5
#> [ copy       ]
#> [ import     ]  use_dependency:20230621-105028-6632c2e5
#> [ success    ]  :)
#> [1] "/tmp/RtmpGRuIRx/file474c60d83e/archive/use_dependency/20230621-105028-6632c2e5"

# And a local orderly
path_local <- orderly::orderly_example("demo")

# We'll create an object to interact with this remote using
# orderly_remote_path.
remote <- orderly::orderly_remote_path(path_remote)

# There is no remote set by default:
try(orderly::orderly_default_remote_get(root = path_local))
#> Error in orderly::orderly_default_remote_get(root = path_local) : 
#>   default remote has not been set yet: use 'orderly::orderly_default_remote_set'

# We can set one:
orderly::orderly_default_remote_set(remote, root = path_local)

# and now we can retrieve it:
orderly::orderly_default_remote_get(root = path_local)
#> <orderly_remote_path>
#>   Public:
#>     bundle_import: function (path) 
#>     bundle_pack: function (name, parameters = NULL, instance = NULL) 
#>     clone: function (deep = FALSE) 
#>     config: orderly_config, R6
#>     initialize: function (path, name) 
#>     kill: function (...) 
#>     list_reports: function () 
#>     list_versions: function (name) 
#>     metadata: function (name, id) 
#>     name: /tmp/RtmpGRuIRx/file474c60d83e
#>     pull: function (name, id) 
#>     push: function (path) 
#>     run: function (...) 
#>     url_report: function (name, id) 

# Note that this has not affected the other orderly:
try(orderly::orderly_default_remote_get(root = path_remote))
#> Error in orderly::orderly_default_remote_get(root = path_remote) : 
#>   default remote has not been set yet: use 'orderly::orderly_default_remote_set'