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         ]  20221116-140028-4a3f1a25
#> [ sources    ]  functions.R
#> [ parameter  ]  nmin: 0
#> [ start      ]  2022-11-16 14:00:28
#> [ data       ]  source => extract: 20 x 2
#> [ parameter  ]  nmin: 0
#> [ end        ]  2022-11-16 14:00:28
#> [ elapsed    ]  Ran report in 0.01968527 secs
#> [ artefact   ]  summary.csv: 3fac8347e152c84c96e6676413c718b7
#> [ ...        ]  graph.png: a70cdfd037035a0b34e71b921fc9de42
orderly::orderly_commit(id, root = path_remote)
#> [ commit     ]  other/20221116-140028-4a3f1a25
#> [ copy       ]
#> [ import     ]  other:20221116-140028-4a3f1a25
#> [ success    ]  :)
#> [1] "/tmp/Rtmpj7MjPt/file462f0d2eeb/archive/other/20221116-140028-4a3f1a25"
id <- orderly::orderly_run("use_dependency",
                           root = path_remote, echo = FALSE)
#> [ name       ]  use_dependency
#> [ id         ]  20221116-140028-94413e61
#> [ depends    ]  [email protected]:summary.csv -> incoming.csv
#> [ start      ]  2022-11-16 14:00:28
#> [ end        ]  2022-11-16 14:00:28
#> [ elapsed    ]  Ran report in 0.01430464 secs
#> [ artefact   ]  graph.png: a70cdfd037035a0b34e71b921fc9de42
#> [ ...        ]  info.rds: b4c73153de2c95d2fbdb514bbc07c816
orderly::orderly_commit(id, root = path_remote)
#> [ commit     ]  use_dependency/20221116-140028-94413e61
#> [ copy       ]
#> [ import     ]  use_dependency:20221116-140028-94413e61
#> [ success    ]  :)
#> [1] "/tmp/Rtmpj7MjPt/file462f0d2eeb/archive/use_dependency/20221116-140028-94413e61"

# 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/Rtmpj7MjPt/file462f0d2eeb
#>     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'