NAME
git-annex move - move content of files to/from another repository
SYNOPSIS
git annex move [path ...] [--from=remote|--to=remote|--to=here]
DESCRIPTION
Moves the content of files from or to another remote.
OPTIONS
--from=remote
Move the content of files from the specified remote to the local repository.
--to=remote
Move the content of files from the local repository to the specified remote.
--to=here
Move the content of files from all reachable remotes to the local repository.
--force
Override numcopies and required content checking, and always remove files from the source repository once the destination repository has a copy.
Note that, even without this option, you can move the content of a file from one repository to another when numcopies is not satisfied, as long as the move does not result in there being fewer copies.
--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
Rather than specifying a filename or path to move, this option can be used to move 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.
--fast
When moving content to a remote, avoid a round trip to check if the remote already has content. This can be faster, but might skip moving content to the remote in some cases.
file matching options
The git-annex-matching-options(1) can be used to specify files to move.
--batch
Enables batch mode, in which lines containing names of files to move 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 moved, 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 moving 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)
AUTHOR
Joey Hess id@joeyh.name
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
git-annex always reuses TCP connections.
More likely you are using an older version of git-annex which had some overhead due to running rsync once per transfer. Since version 6.20180316 git-annex has avoided that overhead.
It would be awesome to be able to move (or copy) between remotes, eg.
git annex copy --from=remote-a --to=remote-b
Use case: I have a repo of ~1TB, but only ~30GB free disk space on my laptop. Currently I have to manually
get
andmove
the files almost one by one to get them from one remote to the other.