treat "not present" in preferred content as invalid
authorJoey Hess <joeyh@joeyh.name>
Tue, 3 Sep 2024 17:49:34 +0000 (13:49 -0400)
committerJoey Hess <joeyh@joeyh.name>
Tue, 3 Sep 2024 17:50:06 +0000 (13:50 -0400)
commit340bdd0dac30ed63a8bfecdc44a693a7f4202474
tree2107c67b2e34b4854c72628138eea556127cc2db
parent8b2bd42540f406dac397ca93ef46452abef1de9c
treat "not present" in preferred content as invalid

Detect when a preferred content expression contains "not present", which
would lead to repeatedly getting and then dropping files, and make it never
match. This also applies to "not balanced" and "not sizebalanced".

--explain will tell the user when this happens

Note that getMatcher calls matchMrun' and does not check for unstable
negated limits. While there is no --present anyway, if there was,
it would not make sense for --not --present to complain about
instability and fail to match.
Annex/FileMatcher.hs
CHANGELOG
Limit.hs
Limit/Wanted.hs
Types/FileMatcher.hs
Utility/Matcher.hs
doc/git-annex-preferred-content.mdwn
doc/todo/proving_preferred_content_behavior.mdwn