Fix bug in combination of preferred and required content settings. When one was set to the empty string and the other set to some expression, this bug caused all files to be wanted, instead of only files matching the expression.

Avoid: MAny `MOr` otherexpression
Which matches anything.
This commit is contained in:
Joey Hess 2015-09-15 12:50:14 -04:00
parent 7088bc8621
commit 16947ef654
5 changed files with 51 additions and 2 deletions

View file

@ -77,8 +77,9 @@ preferredRequiredMapsLoad = do
<$> Annex.Branch.get l
pc <- genmap preferredContentLog =<< groupPreferredContentMapRaw
rc <- genmap requiredContentLog M.empty
-- Required content is implicitly also preferred content, so OR
let m = M.unionWith MOr pc rc
-- Required content is implicitly also preferred content, so
-- combine.
let m = M.unionWith combineMatchers pc rc
Annex.changeState $ \s -> s
{ Annex.preferredcontentmap = Just m
, Annex.requiredcontentmap = Just rc