CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
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
Annex prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Assistant prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Backend convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
Build assume @RPATH libs are present 2022-01-03 15:05:15 -04:00
CmdLine prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Command prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Config enable filter.annex.process in v9 2022-01-21 13:11:18 -04:00
Database read up to and including maxPointerSz 2022-02-23 12:54:40 -04:00
debian remove vendored http-client-restricted 2022-03-22 11:50:06 -04:00
doc prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Git Avoid git status taking a long time after git-annex unlock of many files. 2022-02-18 15:06:40 -04:00
Limit fix longstanding indeterminite preferred content for duplicated file problem 2021-05-24 14:07:05 -04:00
Logs prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Messages factor out Utility.Aeson.textKey 2022-03-02 18:24:06 -04:00
P2P fix handling of corrupted data received from git remote 2022-01-07 13:25:33 -04:00
Remote add back inode to directory special remote ContentIdentifier 2022-03-21 13:12:02 -04:00
RemoteDaemon remove support code for ancient git-annex-shell version 2021-10-11 16:07:08 -04:00
standalone Removed the NetworkBSD build flag 2022-03-22 11:52:52 -04:00
static
templates cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Test test: Added --jobs option 2022-03-16 14:42:07 -04:00
Types prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Upgrade don't fail git-annex upgrade to v10 2022-01-21 13:15:32 -04:00
Utility fix quickcheck test on windows 2022-03-22 13:53:55 -04:00
.ghci turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap
Annex.hs turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
Assistant.hs assistant: Fix a crash on startup by avoiding using forkProcess 2021-05-12 15:08:03 -04:00
Backend.hs remove unused imports 2021-10-05 21:27:06 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
CmdLine.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
Command.hs addon commands 2021-02-02 16:32:49 -04:00
Common.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Config.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
COPYRIGHT remove copyright entry for removed vendored library 2022-03-22 11:55:09 -04:00
Creds.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Crypto.hs convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
git-annex.cabal releasing package git-annex version 10.20220322 2022-03-22 13:56:45 -04:00
git-annex.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs reinject: Fix crash when reinjecting a file from outside the repository 2021-10-01 14:06:34 -04:00
Key.hs convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
Limit.hs prevent numcopies or mincopies being configured to 0 2022-03-28 15:20:34 -04:00
Logs.hs filter-branch working aside from some edge cases 2021-05-17 13:24:58 -04:00
Makefile switch from hothasktags to hasktags 2022-03-24 13:29:40 -04:00
Messages.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
NEWS complete annex.skipunknown transition 2022-02-18 13:18:05 -04:00
README improve description 2022-01-06 12:24:27 -04:00
Remote.hs factor out Utility.Aeson.textKey 2022-03-02 18:24:06 -04:00
Setup.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
stack.yaml Removed the NetworkBSD build flag 2022-03-22 11:52:52 -04:00
Test.hs relax enough i386ancient deps to allow new tasty 2022-03-22 10:59:22 -04:00
Types.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Upgrade.hs add upgrade.log 2022-01-19 15:52:29 -04:00

git-annex allows managing large files with git, without storing the file
contents in git. It can sync, backup, and archive your data, offline
and online. Checksums and encryption keep your data safe and secure. Bring
the power and distributed nature of git to bear on your large files with
git-annex.

For documentation, see doc/ or <https://git-annex.branchable.com/>