zoryn-task-copy(1)

ZORYN-TASK-COPY(1) Zoryn Manual ZORYN-TASK-COPY(1)

NAME

zoryn-task-copy - Copy task to another repository.

SYNOPSIS

zoryn task copy [OPTION]… TASK_ID

DESCRIPTION

Copy all subtasks from an existing task to a new task in another repository. Uses package names (SRPM names) from the Tasks API for correct copy/rebuild operations.

The new task will depend on the source task if it's not yet completed.

By default, creates the task without running it. Use --run to start the task, and --commit to auto-commit after successful build.

For rebuild subtasks, the command compares package EVR (epoch:version-release) between source and target repositories. If EVR differs, it asks whether to copy from source or rebuild from target. Use --copy-rebuilds or --rebuild-only to skip the interactive prompt.

ARGUMENTS

TASK_ID (required)
Source task ID to copy.

OPTIONS

-B REPO, --branch=REPO
Target repository. Required unless --into is given, in which case it is ignored (target repo is derived from the existing task).
-c, --commit
Auto-commit task after successful test build. Only effective with --run. Without this flag, task runs in test-only mode.
-C DIR
Change to directory DIR before running.
--copy-rebuilds
For rebuild subtasks with different EVR (epoch:version-release), automatically copy from source repository instead of asking. Packages with the same EVR in source and target are still rebuilt.
-d, --debug
Enable debug output.
--into=TASK_ID
Add subtasks into an existing target task with the given ID instead of creating a new one. The target repository is derived from the existing task. Dependencies of the existing task are left untouched.
-n, --dry-run
Show what would be done without creating a task or running any commands. Useful for previewing which subtasks will be copied, rebuilt, or deleted.
-r, --run
Run the task after creating it. For stable branches, automatically determines build reason (new version, bugfix, etc.) from RDB.
--rebuild-only
For rebuild subtasks, always rebuild from the target repository, even if the source has a different EVR. Useful for mass rebuilds (e.g., OCaml compiler updates).
--subtask=SUBTASK
Copy only the matching subtask(s) from the source task. Repeatable and comma-separated (e.g. --subtask php,php-mbstring,200). Accepts the same argument forms as zoryn task delete: a numeric subtask ID (e.g. 200), a package name (e.g. php-mbstring), or pkg.git=tag for copy-paste from zoryn task ls. Without this flag, all subtasks are copied.

COMMON OPTIONS

--help[=FMT] (default=auto)
Show this help in format FMT. The value FMT must be one of auto, pager, groff or plain. With auto, the format is pager or plain whenever the TERM env var is dumb or undefined.
--version
Show version information.

EXIT STATUS

zoryn task copy exits with:

0
on success.
123
on indiscriminate errors reported on standard error.
124
on command line parsing errors.
125
on unexpected internal errors (bugs).

EXAMPLES

Copy sisyphus task 404765 to p11 (create only):


zoryn task copy -B p11 404765

Copy and run in test-only mode:


zoryn task copy -B p11 --run 404765

Copy, always rebuild from target (mass rebuild):


zoryn task copy -B p11 --rebuild-only 404765

Copy, always use source EVR when different:


zoryn task copy -B p11 --copy-rebuilds 404765

Preview what would be done (no changes):


zoryn task copy -B p11 --dry-run 404765

Merge subtasks into existing task #500000 (target repo derived from that task):


zoryn task copy --into 500000 404765

Copy only selected subtasks (by package name or subtask ID):


zoryn task copy -B p11 --subtask php --subtask 200 404765

Same, via comma-separated list:


zoryn task copy -B p11 --subtask php,php-mbstring,200 404765

Copy a specific subtask using copy-paste from 'task ls':


zoryn task copy -B p11 --subtask php-gd.git=php-8.2.31-alt1 404765

SEE ALSO

zoryn(1)

Zoryn 0.46.0