sim: fix changing settings bug
This commit is contained in:
parent
4c7db31c20
commit
ae19ad0fa1
1 changed files with 8 additions and 5 deletions
13
Annex/Sim.hs
13
Annex/Sim.hs
|
@ -920,22 +920,22 @@ updateSimRepoState newst sr = do
|
||||||
, removeDiff = const . flip groupChange (const mempty)
|
, removeDiff = const . flip groupChange (const mempty)
|
||||||
}
|
}
|
||||||
updateField oldst newst simWanted $ DiffUpdate
|
updateField oldst newst simWanted $ DiffUpdate
|
||||||
{ replaceDiff = const . preferredContentSet
|
{ replaceDiff = replaceNew preferredContentSet
|
||||||
, addDiff = preferredContentSet
|
, addDiff = preferredContentSet
|
||||||
, removeDiff = const . flip preferredContentSet mempty
|
, removeDiff = const . flip preferredContentSet mempty
|
||||||
}
|
}
|
||||||
updateField oldst newst simRequired $ DiffUpdate
|
updateField oldst newst simRequired $ DiffUpdate
|
||||||
{ replaceDiff = const . requiredContentSet
|
{ replaceDiff = replaceNew requiredContentSet
|
||||||
, addDiff = requiredContentSet
|
, addDiff = requiredContentSet
|
||||||
, removeDiff = const . flip requiredContentSet mempty
|
, removeDiff = const . flip requiredContentSet mempty
|
||||||
}
|
}
|
||||||
updateField oldst newst simGroupWanted $ DiffUpdate
|
updateField oldst newst simGroupWanted $ DiffUpdate
|
||||||
{ replaceDiff = const . groupPreferredContentSet
|
{ replaceDiff = replaceNew groupPreferredContentSet
|
||||||
, addDiff = groupPreferredContentSet
|
, addDiff = groupPreferredContentSet
|
||||||
, removeDiff = const . flip groupPreferredContentSet mempty
|
, removeDiff = const . flip groupPreferredContentSet mempty
|
||||||
}
|
}
|
||||||
updateField oldst newst simMaxSize $ DiffUpdate
|
updateField oldst newst simMaxSize $ DiffUpdate
|
||||||
{ replaceDiff = const . recordMaxSize
|
{ replaceDiff = replaceNew recordMaxSize
|
||||||
, addDiff = recordMaxSize
|
, addDiff = recordMaxSize
|
||||||
, removeDiff = const . flip recordMaxSize (MaxSize 0)
|
, removeDiff = const . flip recordMaxSize (MaxSize 0)
|
||||||
}
|
}
|
||||||
|
@ -953,7 +953,7 @@ updateSimRepoState newst sr = do
|
||||||
(getSimLocations' ls)
|
(getSimLocations' ls)
|
||||||
}
|
}
|
||||||
updateField oldst newst simFiles $ DiffUpdate
|
updateField oldst newst simFiles $ DiffUpdate
|
||||||
{ replaceDiff = const . stageannexedfile
|
{ replaceDiff = replaceNew stageannexedfile
|
||||||
, addDiff = stageannexedfile
|
, addDiff = stageannexedfile
|
||||||
, removeDiff = const . unstageannexedfile
|
, removeDiff = const . unstageannexedfile
|
||||||
}
|
}
|
||||||
|
@ -987,6 +987,9 @@ data DiffUpdate a b m = DiffUpdate
|
||||||
, removeDiff :: a -> b -> m ()
|
, removeDiff :: a -> b -> m ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
replaceNew :: (a -> b -> m ()) -> a -> b -> b -> m ()
|
||||||
|
replaceNew f a new _old = f a new
|
||||||
|
|
||||||
updateMap
|
updateMap
|
||||||
:: (Monad m, Ord a, Eq b)
|
:: (Monad m, Ord a, Eq b)
|
||||||
=> M.Map a b
|
=> M.Map a b
|
||||||
|
|
Loading…
Add table
Reference in a new issue