mincopies
authorJoey Hess <joeyh@joeyh.name>
Wed, 6 Jan 2021 18:11:08 +0000 (14:11 -0400)
committerJoey Hess <joeyh@joeyh.name>
Wed, 6 Jan 2021 18:15:19 +0000 (14:15 -0400)
commitcc896994572f19e0df77314c0cce7c3e88268322
tree06dcd96d4a2d530c2c6b1b862bc2464ec517beac
parent428d228ee5d3a6c5c9a8802285f2d3269049a5dd
mincopies

This is conceptually very simple, just making a 1 that was hard coded be
exposed as a config option. The hard part was plumbing all that, and
dealing with complexities like reading it from git attributes at the
same time that numcopies is read.

Behavior change: When numcopies is set to 0, git-annex used to drop
content without requiring any copies. Now to get that (highly unsafe)
behavior, mincopies also needs to be set to 0. It seemed better to
remove that edge case, than complicate mincopies by ignoring it when
numcopies is 0.

This commit was sponsored by Denis Dzyubenko on Patreon.
29 files changed:
Annex.hs
Annex/CheckAttr.hs
Annex/Drop.hs
Annex/NumCopies.hs
Assistant/Threads/ConfigMonitor.hs
CHANGELOG
CmdLine/GitAnnex.hs
CmdLine/GitAnnex/Options.hs
Command/Drop.hs
Command/DropUnused.hs
Command/Fsck.hs
Command/Import.hs
Command/MinCopies.hs [new file with mode: 0644]
Command/Mirror.hs
Command/Move.hs
Command/NumCopies.hs
Git/CheckAttr.hs
Logs.hs
Logs/NumCopies.hs
Types/NumCopies.hs
doc/copies.mdwn
doc/git-annex-mincopies.mdwn [new file with mode: 0644]
doc/git-annex-numcopies.mdwn
doc/git-annex-requirednumcopies.mdwn [deleted file]
doc/git-annex.mdwn
doc/internals.mdwn
doc/todo/lockContent_for_special_remotes.mdwn
doc/trust.mdwn
git-annex.cabal