move: Avoid drops that make bad situations worse, but otherwise allow

See the big comment at the bottom of Command.Drop for the full details.

(The --safe/--unsafe options were never released.)

This commit was sponsored by Jake Vosloo on Patreon.
This commit is contained in:
Joey Hess 2018-04-13 14:06:25 -04:00
parent 4b8c289154
commit 64980db7d9
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 138 additions and 103 deletions

View file

@ -23,3 +23,5 @@ There could be a transition period where move warns when run w/o
--safe/--unsafe.
--[[Joey]]
> [[done]], using the "don't make it worse" approach. --[[Joey]]

View file

@ -10,10 +10,6 @@ git annex move `[path ...] [--from=remote|--to=remote|--to=here]`
Moves the content of files from or to another remote.
Note that by default, this command does not try to preserve the configured
minimum number of copies of files. It is the only git-annex command to not
do so.
# OPTIONS
* `--from=remote`
@ -29,16 +25,15 @@ do so.
Move the content of files from all reachable remotes to the local
repository.
* `--safe` `-s`
* `--force`
Preserve the configured minimum number of copies of files, by only
dropping content when there are enough other copies, and otherwise
only copying to the destination.
Override numcopies and required content checking, and always remove
files from the source repository once the destination repository has a
copy.
* `--unsafe` `-u`
Do not preserve the configured minimum number of copies of files;
always move the content between repositories. Currently the default.
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`