repo:lineage:add
Stage a parent-child lineage relation.
Reference for flywheel repo:lineage:add.
Stage a lineage relation whose child is in the selected local repository. When the parent is in another repository, such as a node in someone else's graph that you can read, add --parent-repository-id with that repository's ID; flywheel hosted:node:get <parent_node_id> prints it as repository_id. The command works offline, so it never looks the repository up itself; without the flag, a parent this repository has no node for fails with repository_lineage_parent_not_in_repository and the corrected command. repo:lineage:list shows the relation with boundary: true; repo:commit records it locally and only repo:push publishes it, including a first push with --create-remote. The push checks that your account can read the parent; if it cannot, the push fails with repository_lineage_parent_unreadable, publishes nothing, and keeps your local commits. Every unpublished commit is pushed, so a later commit that removes the relation does not help. Either get read access on the parent and push again, or run the flywheel repo:unpublished:drop --operation <operation_id> command the refusal prints to take the link out of your unpublished commits, then push again. See Add to a graph you don't own for the complete local sequence.
Command Group
Local Repository
Summary
Stage a parent-child lineage relation.
Usage
flywheel repo:lineage:add [FLAGS] <parent_node_id> <child_node_id>Arguments
| Argument | Required | Choices | Description |
|---|---|---|---|
<parent_node_id> | Yes | Parent node UUID. | |
<child_node_id> | Yes | Child node UUID. |
Required flags
None.
Optional flags
| Flag | Value | Default | Choices | Description |
|---|---|---|---|---|
--repo | string | Local repository filesystem path. | ||
--personal | Use the configured personal repository. | |||
--parent-repository-id | string | Repository UUID holding the lineage parent; omit it when the parent is in the child's repository. flywheel hosted:node:get <parent_node_id> prints the parent's repository_id. | ||
--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
Stage a parent-child lineage relation.
flywheel repo:lineage:add <parent_node_id> <child_node_id> --format=jsonStage a lineage boundary: the parent stays in another repository you can read, and repo:push publishes the relation only if you can still read it.
flywheel repo:lineage:add <parent_node_id> <child_node_id> --parent-repository-id=<parent_repository_id> --repo <path> --format=jsonrepo:init
Initialize or adopt the selected local repository at a directory; this command does not choose a hosted default workspace or fork.
repo:lineage:list
List lineage relations with parent_repository_id and boundary status. Defaults to committed local state; use --staged to inspect saved pending work.