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         ]  20220118-093843-748f2001
#> [ sources    ]  functions.R
#> [ parameter  ]  nmin: 0
#> [ start      ]  2022-01-18 09:38:43
#> [ data       ]  source => extract: 20 x 2
#> [ parameter  ]  nmin: 0
#> [ end        ]  2022-01-18 09:38:43
#> [ elapsed    ]  Ran report in 0.04268909 secs
#> [ artefact   ]  summary.csv: 3fac8347e152c84c96e6676413c718b7
#> [ ...        ]  graph.png: 22c5cd614e90dfa0660595620b2af604
orderly::orderly_commit(id, root = path_remote)
#> [ commit     ]  other/20220118-093843-748f2001
#> [ copy       ]
#> [ import     ]  other:20220118-093843-748f2001
#> [ success    ]  :)
#> [1] "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/RtmpMWUKEw/file17e31d50dc29/archive/other/20220118-093843-748f2001"
id <- orderly::orderly_run("use_dependency",
                           root = path_remote, echo = FALSE)
#> [ name       ]  use_dependency
#> [ id         ]  20220118-093843-d6a710c5
#> [ depends    ]  [email protected]:summary.csv -> incoming.csv
#> [ start      ]  2022-01-18 09:38:43
#> [ end        ]  2022-01-18 09:38:43
#> [ elapsed    ]  Ran report in 0.037781 secs
#> [ artefact   ]  graph.png: 22c5cd614e90dfa0660595620b2af604
#> [ ...        ]  info.rds: 1988f56be5b03205bd3bebb3532a58e6
orderly::orderly_commit(id, root = path_remote)
#> [ commit     ]  use_dependency/20220118-093843-d6a710c5
#> [ copy       ]
#> [ import     ]  use_dependency:20220118-093843-d6a710c5
#> [ success    ]  :)
#> [1] "/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/RtmpMWUKEw/file17e31d50dc29/archive/use_dependency/20220118-093843-d6a710c5"

# 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) 
#>     list_reports: function () 
#>     list_versions: function (name) 
#>     metadata: function (name, id) 
#>     name: /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T ...
#>     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'