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


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


Copies the content of files from or to another remote.


  • --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 move 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.







Joey Hess

Warning: Automatically converted into a man page by mdwn2man. Edit with care.