From 180fbceee03badc450c84c28ef8219fa68d80bd6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Jan 2014 16:35:32 -0400 Subject: 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. --- Limit.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Limit.hs') diff --git a/Limit.hs b/Limit.hs index 6ce444325..8250544a4 100644 --- a/Limit.hs +++ b/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 () -- cgit v1.2.3