git-annex/doc/git-annex-mirror.mdwn
Joey Hess 91ba0cc7fd
Revert "--json-exceptions"
This reverts commit a325524454.

Turns out this was predicated on an incorrect belief that json output
didn't already sometimes lack the "key" field. Since json output already
can when `giveup` was used, it seems unncessary to add a whole new
option for this.
2023-04-25 17:37:34 -04:00

97 lines
2.3 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.
* `--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.