git-annex/Logs
Joey Hess d266a41f8d
prevent numcopies or mincopies being configured to 0
Ignore annex.numcopies set to 0 in gitattributes or git config, or by
git-annex numcopies or by --numcopies, since that configuration would make
git-annex easily lose data. Same for mincopies.

This is a continuation of the work to make data only be able to be lost
when --force is used. It earlier led to the --trust option being disabled,
and similar reasoning applies here.

Most numcopies configs had docs that strongly discouraged setting it to 0
anyway. And I can't imagine a use case for setting to 0. Not that there
might not be one, but it's just so far from the intended use case of
git-annex, of managing and storing your data, that it does not seem like
it makes sense to cater to such a hypothetical use case, where any
git-annex drop can lose your data at any time.

Using a smart constructor makes sure every place avoids 0. Note that this
does mean that NumCopies is for the configured desired values, and not the
actual existing number of copies, which of course can be 0. The name
configuredNumCopies is used to make that clear.

Sponsored-by: Brock Spratlen on Patreon
2022-03-28 15:20:34 -04:00
..
Chunk update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
ContentIdentifier Fix build with attoparsec-0.14 2021-03-24 12:11:50 -04:00
Difference update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Export deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
MetaData update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
PreferredContent start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Presence fix test suite failure when run with LANG=C 2021-08-18 17:36:00 -04:00
Remote Fix build with attoparsec-0.14 2021-03-24 12:11:50 -04:00
SingleValue deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Trust start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Activity.hs Future proof activity log parsing 2021-06-14 14:18:19 -04:00
Chunk.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Config.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
ContentIdentifier.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Difference.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Export.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
File.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
FsckResults.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Group.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Line.hs Fix build with attoparsec-0.14 2021-03-24 12:11:50 -04:00
Location.hs handle Annex.Branch.files with read-only unmerged git-annex branches 2021-12-27 15:28:31 -04:00
MapLog.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
MetaData.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Multicast.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
NumCopies.hs prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
PreferredContent.hs prevent dropping required content of other file using same content 2021-05-25 11:34:06 -04:00
Presence.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Remote.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
RemoteState.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Schedule.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
SingleValue.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Smudge.hs more RawFilePath conversion 2020-11-03 10:11:04 -04:00
Transfer.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Transitions.hs fix obviously wrong attoparsec parser 2022-02-07 14:15:17 -04:00
Trust.hs move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
Unused.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00
Upgrade.hs add upgrade.log 2022-01-19 15:52:29 -04:00
UUID.hs start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
UUIDBased.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
View.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Web.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00