1git-annex-copy(1) General Commands Manual git-annex-copy(1)
2
3
4
6 git-annex-copy - copy content of files to/from another repository
7
9 git annex copy [path ...] [--from=remote|--to=remote]
10
12 Copies the content of files from or to another remote.
13
14 With no parameters, operates on all annexed files in the current direc‐
15 tory. Paths of files or directories to operate on can be specified.
16
18 --from=remote
19
20 Copy the content of files from the specified remote to the local
21 repository.
22
23 Any files that are not available on the remote will be silently
24 skipped.
25
26 --to=remote
27 Copy the content of files from the local repository to the spec‐
28 ified remote.
29
30 --to=here
31 Copy the content of files from all reachable remotes to the lo‐
32 cal repository.
33
34 --from=remote1 --to=remote2
35 Copy the content of files that are in remote1 to remote2.
36
37 This is implemented by first downloading the content from re‐
38 mote1 to the local repository (if not already present), then
39 sending it to remote2, and then deleting the content from the
40 local repository (if it was not present to start with).
41
42 --jobs=N -JN
43 Enables parallel transfers with up to the specified number of
44 jobs running at once. For example: -J10
45
46 Setting this to "cpus" will run one job per CPU core.
47
48 Note that when using --from with --to, twice this many jobs will
49 run at once, evenly split between the two remotes.
50
51 --auto Rather than copying all specified files, only copy those that
52 don't yet have the desired number of copies, or that are pre‐
53 ferred content of the destination repository. See git-annex-pre‐
54 ferred-content(1)
55
56 --fast When copying content to a remote, avoid a round trip to check if
57 the remote already has content. This can be faster, but might
58 skip copying content to the remote in some cases.
59
60 --all -A
61 Rather than specifying a filename or path to copy, this option
62 can be used to copy all available versions of all files.
63
64 This is the default behavior when running git-annex in a bare
65 repository.
66
67 --branch=ref
68 Operate on files in the specified branch or treeish.
69
70 --unused
71 Operate on files found by last run of git-annex unused.
72
73 --failed
74 Operate on files that have recently failed to be transferred.
75
76 --key=keyname
77 Use this option to copy a specified key.
78
79 matching options
80 The git-annex-matching-options(1) can be used to specify what to
81 copy.
82
83 --batch
84 Enables batch mode, in which lines containing names of files to
85 copy are read from stdin.
86
87 As each specified file is processed, the usual progress output
88 is displayed. If a file's content does not need to be copied, or
89 it does not match specified matching options, or it is not an
90 annexed file, a blank line is output in response instead.
91
92 Since the usual output while copying a file is verbose and not
93 machine-parseable, you may want to use --json in combination
94 with --batch.
95
96 --batch-keys
97 This is like --batch but the lines read from stdin are parsed as
98 keys.
99
100 -z Makes batch input be delimited by nulls instead of the usual
101 newlines.
102
103 --json Enable JSON output. This is intended to be parsed by programs
104 that use git-annex. Each line of output is a JSON object.
105
106 --json-progress
107 Include progress objects in JSON output.
108
109 --json-error-messages
110 Messages that would normally be output to standard error are in‐
111 cluded in the json instead.
112
113 Also the git-annex-common-options(1) can be used.
114
116 git-annex(1)
117
118 git-annex-get(1)
119
120 git-annex-move(1)
121
122 git-annex-drop(1)
123
125 Joey Hess <id@joeyh.name>
126
127 git-annex-copy(1)