git-annex/CmdLine
Joey Hess 1e31bf8122
copy/move --from-anywhere --to remote
Implementation was simple because it's equivilant to
--from=foo --to remote for each other remote, followed by
--to remote when there's a local copy.

(Or, in the edge case of --from-anywhere --to=here,
it's the same as --to=here.)

Note that, when the local repo does not have a copy,
fromToPerform gets it from a remote, sends it to the destination,
and drops the local copy. Another call to that for a second remote
will notice that the dest now has a copy, and simply drop from the
second remote, avoiding a second transfer.

Also note that, when numcopies doesn't allow dropping it from
everywhere, it will drop it from the cheapest remotes first
(maybe not ideal) up to more expensive remotes, and finally from the local
repo. So the local repo will generally end up holding a copy. Maybe not
ideal in all cases either, but it seems no worse to do that than to end up
with a copy undropped from a remote.

And I'm not entirely happy with the output, eg:

	copy bigfile (from r3...) ok
	copy bigfile ok

That makes sense if you think of the second line as being
the same as what is output by `git-annex copy bigfile --to bar`,
but it's less clear in this context. Maybe add "(from here...)"?
Also the --json output doesn't have a machine-readable field for
the "from" uuid, and maybe it should?

Sponsored-by: Dartmouth College's DANDI project
2023-11-30 16:34:30 -04:00
..
GitAnnex copy/move --from-anywhere --to remote 2023-11-30 16:34:30 -04:00
GitAnnexShell uninit: Support --json and --json-error-messages 2023-05-11 13:43:02 -04:00
Action.hs Fix display when run with -J1 2023-06-15 10:07:54 -04:00
AnnexSetter.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Batch.hs avoid double RawFilePath conversion 2023-10-26 13:41:17 -04:00
GitAnnex.hs oldkeys: New command that lists the keys used by old versions of a file 2023-08-22 14:51:06 -04:00
GitAnnexShell.hs Override safe.bareRepository for git remotes 2023-09-07 14:56:26 -04:00
GitRemoteTorAnnex.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
Option.hs initial implementation of --explain 2023-07-25 16:52:57 -04:00
Seek.hs info: Added calculation of combined annex size of all repositories 2023-11-08 13:35:11 -04:00
Usage.hs add FIELD?=GLOB to git-annex view usage 2023-02-07 18:09:10 -04:00