git-annex/doc/git-annex-copy.mdwn
2019-09-18 13:11:53 -04:00

126 lines
2.9 KiB
Markdown

# NAME
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>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.