From c6ba6fb9bda03fa1ec43aae54197777a04a54a62 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 12 Apr 2015 12:49:11 -0400 Subject: info dir: Added information about repositories that contain files in the specified directory. This is a nearly free feature; it piggybacks on the location log lookups done for the numcopies stats. So, the only extra overhead is updating the map of repository sizes. However, I had to switch to Data.Map.Strict, which needs containers 0.5. If backporting to wheezy, will probably need to revert this commit. --- Config/NumCopies.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'Config') diff --git a/Config/NumCopies.hs b/Config/NumCopies.hs index b25e0818d..50dcdf684 100644 --- a/Config/NumCopies.hs +++ b/Config/NumCopies.hs @@ -11,9 +11,10 @@ module Config.NumCopies ( getFileNumCopies, getGlobalFileNumCopies, getNumCopies, - numCopiesCheck, deprecatedNumCopies, - defaultNumCopies + defaultNumCopies, + numCopiesCheck, + numCopiesCheck', ) where import Common.Annex @@ -75,6 +76,10 @@ getFileNumCopies' file = maybe getGlobalNumCopies (return . Just) =<< getattr - belived to exist, and the configured value. -} numCopiesCheck :: FilePath -> Key -> (Int -> Int -> v) -> Annex v numCopiesCheck file key vs = do - NumCopies needed <- getFileNumCopies file have <- trustExclude UnTrusted =<< Remote.keyLocations key + numCopiesCheck' file vs have + +numCopiesCheck' :: FilePath -> (Int -> Int -> v) -> [UUID] -> Annex v +numCopiesCheck' file vs have = do + NumCopies needed <- getFileNumCopies file return $ length have `vs` needed -- cgit v1.2.3