git-annex-copy man page

git-annex-copy ā€” copy content of files to/from another repository

Synopsis

git annex copy [path ...] [--from=remote|--to=remote]

Description

Copies the content of files from or to another remote.

Options

--from=remote

Copy the content of files from the specified remote to the local repository.

Any files that are not available on the remote will be silently skipped.

--to=remote

Copy the content of files from the local repository to the specified remote.

--to=here

Copy the content of files from all reachable remotes to the local repository.

--jobs=N -JN

Enables parallel transfers with up to the specified number of jobs running at once. For example: -J10

Setting this to "cpus" will run one job per CPU core.

--auto

Rather than copying all files, only copy files that don't yet have the desired number of copies, or that are preferred content of the destination repository. See git-annex-preferred-content(1)

--fast

When copying content to a remote, avoid a round trip to check if the remote already has content. This can be faster, but might skip copying content to the remote in some cases.

--all -A

Rather than specifying a filename or path to copy, this option can be used to copy all available versions of all files.

This is the default behavior when running git-annex in a bare repository.

--branch=ref

Operate on files in the specified branch or treeish.

--unused

Operate on files found by last run of git-annex unused.

--failed

Operate on files that have recently failed to be transferred.

--key=keyname

Use this option to copy a specified key.

file matching options

The git-annex-matching-options(1) can be used to specify files to copy.

--batch

Enables batch mode, in which lines containing names of files to copy are read from stdin.

As each specified file is processed, the usual progress output is displayed. If a file's content does not need to be copied, or it does not match specified matching options, or it is not an annexed file, a blank line is output in response instead.

Since the usual output while copying a file is verbose and not machine-parseable, you may want to use --json in combination with --batch.

-z

Makes the --batch input be delimited by nulls instead of the usual newlines.

--json

Enable JSON output. This is intended to be parsed by programs that use git-annex. Each line of output is a JSON object.

--json-progress

Include progress objects in JSON output.

--json-error-messages

Messages that would normally be output to standard error are included in the json instead.

See Also

git-annex(1)

git-annex-get(1)

git-annex-move(1)

git-annex-drop(1)

Author

Joey Hess <id@joeyh.name>

Referenced By

git-annex(1), git-annex-drop(1), git-annex-get(1), git-annex-move(1).