diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-01-28 13:47:41 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-01-28 13:50:02 -0400 |
commit | f351b887265f0abce8d52ffcb7b9b2ee7bd8bc81 (patch) | |
tree | c7cb719e91b82bee7f4ea8e74732dd3f3d4dc103 /Annex/Difference.hs | |
parent | 6a8efb186432cd9b8fa7a61f8129303f5bcc9e1f (diff) |
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.
Diffstat (limited to 'Annex/Difference.hs')
-rw-r--r-- | Annex/Difference.hs | 4 |
1 files changed, 1 insertions, 3 deletions
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) |