repo:clone
Clone a hosted projection v4 repository over the network, including boundary-parent and cross-repository tag-scope identities, into a new local directory.
Reference for flywheel repo:clone.
Create a local repository from a hosted projection v4 repository, including cross-repository lineage and tag-scope identities, and persist its service/profile association. Reading a public or shared node gives no repository membership: an existing repository returns 403 repository_forbidden (CLI exit 3) without a sufficient role. Missing and retired repositories return 404 repository_not_found. To add your own node under a readable parent without joining its repository, run flywheel hosted:node:create --parent <node_id> --title 'My addition'; without a write role there, it lands in your fork.
If the server returns HTTP 426, the CLI prints http_error, with client_version_unsupported or repository_snapshot_format_unsupported in server_response.body.detail (or its type field); run flywheel update --yes and retry. If the directory's parent is a symbolic link, such as /tmp on macOS, the command refuses with repository_target_parent_symlink before contacting the server; run it again with the real path it suggests.
If a hosted request fails during the clone (the connection is refused or drops, the request times out, the answer can't be read, or HTTP 408, 429, 502, 503 or 504 is still the answer after the CLI's retries), the error keeps its code and adds step, clone_transfer (downloading the hosted repository: the clone session, its chunks and, with --objects all, its objects), and next_action, the same command as typed, with the same arguments. Clone has no --idempotency-key, so the rerun has none. A clone builds the checkout in a private staging folder and moves it into place only at the end, so a failed request leaves nothing at the directory; run next_action once the hosted service can be reached again. A hosted repository_busy answer gets a step and this next_action too, and keeps its code repository_busy.
Reading one public node does not let you clone its whole repository. First add under that node through server placement, then clone your fork.
Command Group
Local Repository
Summary
Clone a hosted projection v4 repository over the network, including boundary-parent and cross-repository tag-scope identities, into a new local directory.
Usage
flywheel repo:clone [FLAGS] <repository_id> [directory]Arguments
| Argument | Required | Choices | Description |
|---|---|---|---|
<repository_id> | Yes | Hosted repository UUID. | |
[directory] | No | Target repository directory. |
Required flags
None.
Optional flags
| Flag | Value | Default | Choices | Description |
|---|---|---|---|---|
--objects | string | lazy, all | Object transfer mode: lazy defers artifact bytes for repo:artifact:download; all downloads every reachable object. | |
--format | FORMAT | json, tsv, csv, table | Output format for command results. | |
--env | PROFILE | Use a configured CLI profile for this invocation. | ||
--out | PATH | Write output to a file path, or use - for stdout. | ||
--open | Open browser-bound URLs when supported. | |||
--no-retry | Disable transient-error retries. | |||
--retry-max | N | Maximum transient-error retry attempts. | ||
--wait | Block on async operations until a terminal state is reached. | |||
--wait-timeout | SECONDS | 600 | Seconds to wait for --wait before timing out. Defaults to 600. | |
--allow-self | Allow mutating the currently active credential. | |||
--timeout | SECONDS | Set the per-request timeout budget in seconds. | ||
--idempotency-key | KEY | Reuse an Idempotency-Key so ambiguous write failures can be retried with the same key. | ||
--force | Force safety-gated operations where supported. | |||
--yes | Skip confirmation prompts for destructive operations. | |||
--debug | Print structured request debugging with secrets masked. | |||
--verbose | Print verbose progress for long-running operations. | |||
-h, --help | Show this help. |
Examples
Clone a hosted projection v4 repository over the network, including boundary-parent and cross-repository tag-scope identities, into a new local directory.
flywheel repo:clone <repository_id> --format=jsonrepo:backup
Create and verify a local repository backup without contacting a service, then record its completion for this checkout. If recording fails, the verified archive remains restorable and the command reports its destination and digest.
repo:commit
Commit the exact current staging digest with its immutable author principal.