git-annex/doc/git-annex-mirror.mdwn
Joey Hess 86ea4356af
add a warning about --json not being self describing
It was a mistake for mirror to support --json, but that happened long
ago and it doesn't seem worth removing. I doubt anyone will use it.
2023-06-29 15:38:37 -04:00

100 lines
2.5 KiB
Markdown

# NAME
git-annex mirror - mirror content of files to/from another repository
# SYNOPSIS
git annex mirror `[path ...] [--to=remote|--from=remote]`
# DESCRIPTION
This causes a destination repository to mirror a source repository.
Each specified file in the source repository is mirrored to the destination
repository. If a file's content is present in the source repository, it is
copied to the destination repository. If a file's content is not present in
the source repository, it will be dropped from the destination repository
when the numcopies setting allows.
Note that mirror does not sync the git repository, but only the file
contents. Use [[git-annex-sync]](1) for that.
# OPTIONS
* `--to=remote`
Use the local repository as the source repository, and mirror its contents
to the remote.
* `--from=remote`
Use the remote as the source repository, and mirror its contents 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.
* `--all` `-A`
Mirror all objects stored in the git annex, not only objects used by
currently existing files.
However, this bypasses checking the .gitattributes annex.numcopies
setting when dropping 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.
Like --all, this bypasses checking the .gitattributes annex.numcopies
setting when dropping files.
* `--unused`
Operate on files found by last run of git-annex unused.
* `--failed`
Operate on files that have recently failed to be transferred.
* matching options
The [[git-annex-matching-options]](1)
can be used to control what to mirror.
* `--json`
Enable JSON output. This is intended to be parsed by programs that use
git-annex. Each line of output is a JSON object.
Note that unlike all other commands that support `--json`, this command
outputs different types of json objects in different circumstances.
* `--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.
* Also the [[git-annex-common-options]](1) can be used.
# SEE ALSO
[[git-annex]](1)
[[git-annex-sync]](1)
# AUTHOR
Joey Hess <id@joeyh.name>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.