bugfix
Different keys can have the same size, so can't make a Set of the sizes. This version actually runs faster yet, too..
This commit is contained in:
parent
9f5c7a246b
commit
98fbeba0df
1 changed files with 5 additions and 6 deletions
|
@ -147,14 +147,13 @@ cachedKeysReferenced = do
|
||||||
|
|
||||||
keySizeSum :: Set Key -> StatState String
|
keySizeSum :: Set Key -> StatState String
|
||||||
keySizeSum s = do
|
keySizeSum s = do
|
||||||
let (sizes, unknownsizes) = S.partition isJust $ S.map keySize s
|
let knownsizes = mapMaybe keySize $ S.toList s
|
||||||
let total = roughSize storageUnits False $
|
let total = roughSize storageUnits False $ sum knownsizes
|
||||||
fromJust $ S.fold (liftM2 (+)) (Just 0) sizes
|
let missing = S.size s - genericLength knownsizes
|
||||||
let num = S.size unknownsizes
|
|
||||||
return $ total ++
|
return $ total ++
|
||||||
if num == 0
|
if missing == 0
|
||||||
then ""
|
then ""
|
||||||
else aside $ "but " ++ show num ++ " keys have unknown size"
|
else aside $ "but " ++ show missing ++ " keys have unknown size"
|
||||||
|
|
||||||
staleSize :: String -> (Git.Repo -> FilePath) -> Stat
|
staleSize :: String -> (Git.Repo -> FilePath) -> Stat
|
||||||
staleSize label dirspec = do
|
staleSize label dirspec = do
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue