diff options
author | Joey Hess <joey@kitenet.net> | 2014-04-17 18:03:39 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-04-17 18:03:39 -0400 |
commit | e9b6c350b15a93d82affadfabca18b3e95840cb1 (patch) | |
tree | 48230725260d92997b1fe58a698f57568f398475 /Limit.hs | |
parent | c7c12e735b806eecd62048b822af2d8802671d3f (diff) |
replace (Key, Backend) with Key
Only fsck and reinject and the test suite used the Backend, and they can
look it up as needed from the Key. This simplifies the code and also speeds
it up.
There is a small behavior change here. Before, all commands would warn when
acting on an annexed file with an unknown backend. Now, only fsck and
reinject show that warning.
Diffstat (limited to 'Limit.hs')
-rw-r--r-- | Limit.hs | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -234,10 +234,10 @@ limitSize vs s = case readSize dataUnits s of Nothing -> Left "bad size" Just sz -> Right $ go sz where - go sz _ (MatchingFile fi) = lookupFile fi >>= check fi sz + go sz _ (MatchingFile fi) = lookupFileKey fi >>= check fi sz go sz _ (MatchingKey key) = checkkey sz key checkkey sz key = return $ keySize key `vs` Just sz - check _ sz (Just (key, _)) = checkkey sz key + check _ sz (Just key) = checkkey sz key check fi sz Nothing = do filesize <- liftIO $ catchMaybeIO $ fromIntegral . fileSize @@ -272,11 +272,8 @@ addTimeLimit s = do liftIO $ exitWith $ ExitFailure 101 else return True -lookupFile :: FileInfo -> Annex (Maybe (Key, Backend)) -lookupFile = Backend.lookupFile . relFile - lookupFileKey :: FileInfo -> Annex (Maybe Key) -lookupFileKey = (fst <$>) <$$> Backend.lookupFile . relFile +lookupFileKey = Backend.lookupFile . relFile checkKey :: (Key -> Annex Bool) -> MatchInfo -> Annex Bool checkKey a (MatchingFile fi) = lookupFileKey fi >>= maybe (return False) a |