diff options
Diffstat (limited to 'Logs/Difference')
-rw-r--r-- | Logs/Difference/Pure.hs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Logs/Difference/Pure.hs b/Logs/Difference/Pure.hs new file mode 100644 index 000000000..76d995a01 --- /dev/null +++ b/Logs/Difference/Pure.hs @@ -0,0 +1,26 @@ +{- git-annex difference log, pure functions + - + - Copyright 2015 Joey Hess <id@joeyh.name> + - + - Licensed under the GNU GPL version 3 or higher. + -} + +module Logs.Difference.Pure ( + allDifferences, + parseDifferencesLog, +) where + +import Data.Monoid +import qualified Data.Map as M + +import Common.Annex +import Types.Difference +import Logs.UUIDBased + +parseDifferencesLog :: String -> (M.Map UUID Differences) +parseDifferencesLog = simpleMap + . parseLog (Just . fromMaybe UnknownDifferences . readish) + +-- The sum of all recorded differences, across all UUIDs. +allDifferences :: M.Map UUID Differences -> Differences +allDifferences = mconcat . M.elems |