From f351b887265f0abce8d52ffcb7b9b2ee7bd8bc81 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 28 Jan 2015 13:47:41 -0400 Subject: rework Differences data type Eliminated complexity and future proofed. The most important change is that all functions over Difference are now total; any Difference that can be expressed should be handled. Avoids needs for sanity checking of inputs, and version skew with the future. Also, the difference.log now serializes a [Difference], not a Differences. This saves space and keeps it simpler. Note that [Difference] might contain conflicting differences (eg, [Version5, Version6]. In this case, one of them needs to consistently win over the others, probably based on Ord. --- Annex/Difference.hs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'Annex/Difference.hs') diff --git a/Annex/Difference.hs b/Annex/Difference.hs index cb363e80c..07789e7bb 100644 --- a/Annex/Difference.hs +++ b/Annex/Difference.hs @@ -31,9 +31,7 @@ import qualified Data.Map as M setDifferences :: Annex () setDifferences = do u <- getUUID - otherds <- either error return - =<< sanityCheckDifferences . allDifferences - <$> recordedDifferences + otherds <- allDifferences <$> recordedDifferences ds <- mappend otherds . annexDifferences <$> Annex.getGitConfig when (ds /= mempty) $ do ds'@(Differences l) <- ifM (isJust <$> getVersion) -- cgit v1.2.3