git-annex/doc
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
..
Android
android
assistant
automatic_conflict_resolution
backends
bare_repositories
bugs copy/move --from-anywhere --to remote 2023-11-30 16:34:30 -04:00
chunking comment 2023-02-27 12:03:09 -04:00
coding_style
contribute
copies link comment to todo 2023-06-19 11:42:45 -04:00
design 2023-11-20 02:09:42 +00:00
devblog response 2023-06-28 13:08:12 -04:00
direct_mode
download
encryption
footer
forum comment 2023-11-29 13:42:12 -04:00
future_proofing
git-annex-add
git-annex-addurl promote comment to bug 2023-03-27 14:10:32 -04:00
git-annex-adjust
git-annex-benchmark comment 2022-12-20 14:30:18 -04:00
git-annex-checkpresentkey
git-annex-config comment 2023-06-23 11:44:49 -04:00
git-annex-copy
git-annex-diffdriver Added a comment: Minimum required version 2023-10-24 14:27:25 +00:00
git-annex-direct
git-annex-drop
git-annex-enableremote
git-annex-find findkeys: New command, very similar to git-annex find but operating on keys 2023-01-17 14:51:57 -04:00
git-annex-get lookupkey: Added --ref option 2023-09-12 12:49:11 -04:00
git-annex-import
git-annex-importfeed
git-annex-lookupkey
git-annex-metadata
git-annex-move
git-annex-p2p
git-annex-preferred-content
git-annex-reinject
git-annex-repair Added a comment: When a weird 'no space left on device' error appears 2022-12-21 16:46:44 +00:00
git-annex-rmurl
git-annex-setpresentkey
git-annex-sync comment and improve docs 2023-04-19 12:20:26 -04:00
git-annex-test
git-annex-unannex Added a comment: Re: Weird behavior of git archive in combination with largefiles configuration 2023-02-26 18:45:31 +00:00
git-annex-undo
git-annex-uninit move a comment that is a bug report 2023-11-21 15:57:10 -04:00
git-annex-unlock
git-annex-unused
git-annex-webapp Added a comment: Thanks Yann! 2023-11-19 18:20:03 +00:00
git-annex-whereis
git-annex-whereused comment 2023-05-05 13:36:57 -04:00
how_it_works
install better link to install stack 2023-08-28 12:52:53 -04:00
internals convert renameFile to moveFile to support cross-device moves 2022-12-20 15:17:50 -04:00
license
links
metadata
news add news item for git-annex 10.20231129 2023-11-29 16:01:10 -04:00
not
polls
preferred_content
profiling remove an out of date comment 2023-10-25 13:08:01 -04:00
projects remove wrongly nested comment 2023-10-27 17:47:23 -04:00
required_content
scalability
security
special_remotes deal with Amazon S3 breaking change for public=yes 2023-07-21 13:59:07 -04:00
stickers
submodules analysis and followup 2023-04-20 14:11:04 -04:00
sync this comment section is not a BTS, part N+1 2023-03-21 13:48:34 -04:00
templates
testimonials
thanks update 2023-11-13 13:09:39 -04:00
tips response 2023-11-29 13:26:24 -04:00
todo Added a comment: Is annex.tune.objecthashlower=true recommended for interop with windows? 2023-11-20 04:24:35 +00:00
trust
tuning
upgrades
use_case
users 2023-11-17 11:47:53 +00:00
videos add PeerTube link to Yann's Git Annex talk @Tübix2023 2023-07-17 06:19:46 +00:00
walkthrough git-annex pull and push 2023-05-16 16:51:07 -04:00
workflow
Android.mdwn add webapp workaround for nix-on-droid 2023-06-22 21:39:25 +00:00
assistant.mdwn
automatic_conflict_resolution.mdwn
backends.mdwn fix typo 2022-12-26 12:36:56 -04:00
bare_repositories.mdwn
bugs.mdwn
builds.mdwn remove appveyor badge, which does not work 2023-03-22 10:55:38 -04:00
chunking.mdwn
coding_style.mdwn
comments.mdwn
contact.mdwn
contribute.mdwn remove dead link 2023-06-27 20:02:11 -04:00
copies.mdwn
design.mdwn
devblog.mdwn remove calendar 2023-01-05 14:50:26 -04:00
direct_mode.mdwn
distributed_version_control.mdwn
download.mdwn
encryption.mdwn
favicon.ico
forum.mdwn
future_proofing.mdwn
git-annex-add.mdwn close bug report and improve docs that led to it being filed 2023-06-12 16:30:21 -04:00
git-annex-addunused.mdwn addunused, dropunused: Support --json and --json-error-messages 2023-05-05 14:01:40 -04:00
git-annex-addurl.mdwn default to yt-dlp and fix progress parsing bugs 2023-05-27 13:04:53 -04:00
git-annex-adjust.mdwn support --unlock-present adjustment of view branches 2023-02-27 15:37:57 -04:00
git-annex-assist.mdwn document -m 2023-05-23 11:46:54 -04:00
git-annex-assistant.mdwn git-annex assist 2023-05-18 14:37:43 -04:00
git-annex-backends.mdwn
git-annex-benchmark.mdwn
git-annex-calckey.mdwn
git-annex-checkpresentkey.mdwn
git-annex-common-options.mdwn improve match explanations 2023-07-26 15:37:03 -04:00
git-annex-config.mdwn config: Added the --show-origin and --for-file options 2023-06-12 16:24:31 -04:00
git-annex-configremote.mdwn configremote 2023-04-18 15:30:49 -04:00
git-annex-contentlocation.mdwn
git-annex-copy.mdwn copy/move --from-anywhere --to remote 2023-11-30 16:34:30 -04:00
git-annex-dead.mdwn info: Added --dead-repositories option 2023-08-09 12:43:48 -04:00
git-annex-describe.mdwn expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
git-annex-diffdriver.mdwn diffdriver: Added --get option 2023-08-22 11:58:53 -04:00
git-annex-direct.mdwn
git-annex-drop.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-dropkey.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-dropunused.mdwn dropunused: Support --jobs 2023-07-21 14:03:34 -04:00
git-annex-edit.mdwn
git-annex-enable-tor.mdwn
git-annex-enableremote.mdwn enableremote: Support --json and --json-error-messages 2023-05-10 14:09:27 -04:00
git-annex-examinekey.mdwn avoid quoting spaces in git-annex find output to terminal 2023-04-26 00:18:30 -04:00
git-annex-expire.mdwn expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
git-annex-export.mdwn git-annex pull and push 2023-05-16 16:51:07 -04:00
git-annex-filter-branch.mdwn
git-annex-filter-process.mdwn
git-annex-find.mdwn avoid quoting spaces in git-annex find output to terminal 2023-04-26 00:18:30 -04:00
git-annex-findkeys.mdwn avoid quoting spaces in git-annex find output to terminal 2023-04-26 00:18:30 -04:00
git-annex-findref.mdwn
git-annex-fix.mdwn fix: Support --json and --json-error-messages 2023-05-04 14:28:21 -04:00
git-annex-forget.mdwn
git-annex-fromkey.mdwn
git-annex-fsck.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-fuzztest.mdwn
git-annex-get.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-group.mdwn
git-annex-groupwanted.mdwn
git-annex-import.mdwn fix format 2023-06-23 14:18:16 -04:00
git-annex-importfeed.mdwn importfeed: Add feedurl to the metadata 2023-07-06 00:11:38 -04:00
git-annex-indirect.mdwn
git-annex-info.mdwn git-annex log --sizesof 2023-11-10 17:26:10 -04:00
git-annex-init.mdwn init: Support --json and --json-error-messages 2023-05-08 14:58:08 -04:00
git-annex-initremote.mdwn initremote: Support --json and --json-error-messages 2023-05-10 14:03:40 -04:00
git-annex-inprogress.mdwn
git-annex-list.mdwn
git-annex-lock.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-log.mdwn git-annex log --gnuplot 2023-11-14 14:56:58 -04:00
git-annex-lookupkey.mdwn lookupkey: Added --ref option 2023-09-12 12:49:11 -04:00
git-annex-map.mdwn
git-annex-matchexpression.mdwn --explain for preferred/required content matching 2023-07-26 14:50:04 -04:00
git-annex-matching-expression.mdwn
git-annex-matching-options.mdwn fix some language 2023-11-28 12:03:49 -04:00
git-annex-merge.mdwn git-annex pull and push 2023-05-16 16:51:07 -04:00
git-annex-metadata.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-migrate.mdwn migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
git-annex-mincopies.mdwn config: Added the --show-origin and --for-file options 2023-06-12 16:24:31 -04:00
git-annex-mirror.mdwn add a warning about --json not being self describing 2023-06-29 15:38:37 -04:00
git-annex-move.mdwn copy/move --from-anywhere --to remote 2023-11-30 16:34:30 -04:00
git-annex-multicast.mdwn
git-annex-numcopies.mdwn config: Added the --show-origin and --for-file options 2023-06-12 16:24:31 -04:00
git-annex-oldkeys.mdwn oldkeys: check associated files by default and add --unchecked 2023-08-23 13:46:41 -04:00
git-annex-p2p.mdwn
git-annex-post-receive.mdwn
git-annex-pre-commit.mdwn
git-annex-preferred-content.mdwn Add missing formatting backtick 2023-08-01 05:32:19 +00:00
git-annex-proxy.mdwn
git-annex-pull.mdwn mention that the default is only available remotes 2023-08-16 16:03:05 -04:00
git-annex-push.mdwn document -C behavior with exporttree remotes 2023-09-22 12:40:40 -04:00
git-annex-readpresentkey.mdwn
git-annex-registerurl.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-reinit.mdwn reinit: Support --json and --json-error-messages 2023-05-08 15:07:40 -04:00
git-annex-reinject.mdwn reinject: Added --guesskeys option 2023-06-26 14:05:31 -04:00
git-annex-rekey.mdwn rekey, setpresentkey: Support --json and --json-error-messages 2023-05-04 16:03:54 -04:00
git-annex-remotedaemon.mdwn
git-annex-renameremote.mdwn configremote 2023-04-18 15:30:49 -04:00
git-annex-repair.mdwn
git-annex-required.mdwn
git-annex-resolvemerge.mdwn split out common options to its own page and mention it on each subcommand page 2021-05-10 15:00:13 -04:00
git-annex-restage.mdwn
git-annex-rmurl.mdwn rmurl: Support --json and --json-error-messages 2023-05-04 11:28:27 -04:00
git-annex-satisfy.mdwn dial back addition, but keep it 2023-11-28 12:03:55 -04:00
git-annex-schedule.mdwn
git-annex-semitrust.mdwn expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
git-annex-setkey.mdwn
git-annex-setpresentkey.mdwn rekey, setpresentkey: Support --json and --json-error-messages 2023-05-04 16:03:54 -04:00
git-annex-shell.mdwn
git-annex-smudge.mdwn
git-annex-status.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-sync.mdwn document -C behavior with exporttree remotes 2023-09-22 12:40:40 -04:00
git-annex-test.mdwn test: Add --test-debug option 2022-11-28 15:12:53 -04:00
git-annex-testremote.mdwn
git-annex-transferkey.mdwn
git-annex-transferkeys.mdwn
git-annex-transferrer.mdwn
git-annex-trust.mdwn expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
git-annex-unannex.mdwn unannex: Support --json and --json-error-messages 2023-05-03 15:56:20 -04:00
git-annex-undo.mdwn migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
git-annex-ungroup.mdwn
git-annex-uninit.mdwn uninit: Support --json and --json-error-messages 2023-05-11 13:43:02 -04:00
git-annex-unlock.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-unregisterurl.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-untrust.mdwn expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
git-annex-unused.mdwn oldkeys: New command that lists the keys used by old versions of a file 2023-08-22 14:51:06 -04:00
git-annex-upgrade.mdwn upgrade: Support --json and --json-error-messages and --json-progress 2023-05-10 12:54:48 -04:00
git-annex-vadd.mdwn add directory to views for files that lack specified metadata 2023-02-07 16:28:46 -04:00
git-annex-vcycle.mdwn
git-annex-version.mdwn
git-annex-vfilter.mdwn add directory to views for files that lack specified metadata 2023-02-07 16:28:46 -04:00
git-annex-vicfg.mdwn
git-annex-view.mdwn annex.maxextensionlength for view 2023-03-24 14:01:38 -04:00
git-annex-vpop.mdwn
git-annex-wanted.mdwn
git-annex-watch.mdwn git-annex assist 2023-05-18 14:37:43 -04:00
git-annex-webapp.mdwn Make it more clear that git annex webapp will add files and sync via the assistant. 2023-11-19 16:26:44 +00:00
git-annex-whereis.mdwn Revert "--json-exceptions" 2023-04-25 17:37:34 -04:00
git-annex-whereused.mdwn migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
git-annex.mdwn fix --from overriding annex-ignore 2023-11-30 15:12:07 -04:00
git-remote-tor-annex.mdwn
git-union-merge.mdwn
how_it_works.mdwn
index.mdwn
install.mdwn move a paragraph into the pages that the links it talks about were long ago moved to 2023-02-11 16:07:05 -04:00
internals.mdwn convert renameFile to moveFile to support cross-device moves 2022-12-20 15:17:50 -04:00
license.mdwn
location_tracking.mdwn
logo-old-bw.svg
logo-old.png
logo-old.svg
logo-old_small.png
logo.mdwn
logo.svg
logo_16x16.png
logo_32x32.png
logo_small.png
meta.mdwn
metadata.mdwn
news.mdwn
not.mdwn
polls.mdwn
preferred_content.mdwn
privacy.mdwn
profiling.mdwn
projects.mdwn
publicrepos.mdwn
related_software.mdwn Add borg2annex to related_software 2023-05-28 07:12:15 +02:00
repomap.png
required_content.mdwn
scalability.mdwn
security.mdwn
shortcuts.mdwn
sidebar.mdwn
sitemap.mdwn
special_remotes.mdwn
stickers.mdwn
submodules.mdwn
summary.mdwn
sync.mdwn comment and improve docs 2023-04-19 12:20:26 -04:00
testimonials.mdwn
thanks.mdwn drop NSF logo 2023-09-27 15:02:11 -04:00
tips.mdwn
todo.mdwn
transferring_data.mdwn
trust.mdwn
tuning.mdwn
upgrades.mdwn
users.mdwn
videos.mdwn move new video into feed 2023-07-05 14:54:21 -04:00
walkthrough.mdwn
workflow.mdwn