add "unused" preferred content expression
With a really nice optimisation that keeps it from having any overhead in normal operation! This commit was sponsored by Ulises Vitulli.
This commit is contained in:
parent
02896ee15d
commit
4b55afe9e9
7 changed files with 41 additions and 13 deletions
10
Limit.hs
10
Limit.hs
|
@ -30,6 +30,7 @@ import Types.Group
|
|||
import Types.FileMatcher
|
||||
import Types.Limit
|
||||
import Logs.Group
|
||||
import Logs.Unused
|
||||
import Utility.HumanTime
|
||||
import Utility.DataUnits
|
||||
|
||||
|
@ -199,6 +200,15 @@ limitLackingCopies approx want = case readish want of
|
|||
return $ numcopies - length us >= needed
|
||||
approxNumCopies = fromMaybe defaultNumCopies <$> getGlobalNumCopies
|
||||
|
||||
{- Match keys that are unused.
|
||||
-
|
||||
- This has a nice optimisation: When a file exists,
|
||||
- its key is obviously not unused.
|
||||
-}
|
||||
limitUnused :: MatchFiles
|
||||
limitUnused _ (MatchingFile _) = return False
|
||||
limitUnused _ (MatchingKey k) = S.member k <$> unusedKeys
|
||||
|
||||
{- Adds a limit to skip files not believed to be present in all
|
||||
- repositories in the specified group. -}
|
||||
addInAllGroup :: String -> Annex ()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue