(buildLogNew buildMaxSize)
. changeLog c uuid maxsize
. parseLogNew parseMaxSize
+ Annex.changeState $ \s -> s { Annex.maxsizes = Nothing }
buildMaxSize :: MaxSize -> Builder
buildMaxSize (MaxSize n) = byteString (encodeBS (show n))
curr <- getGlobalNumCopies
when (curr /= Just new) $
setLog (Annex.Branch.RegardingUUID []) numcopiesLog new
+ Annex.changeState $ \s -> s { Annex.globalnumcopies = Nothing }
setGlobalMinCopies :: MinCopies -> Annex ()
setGlobalMinCopies new = do
curr <- getGlobalMinCopies
when (curr /= Just new) $
setLog (Annex.Branch.RegardingUUID []) mincopiesLog new
+ Annex.changeState $ \s -> s { Annex.globalmincopies = Nothing }
{- Value configured in the numcopies log. Cached for speed. -}
getGlobalNumCopies :: Annex (Maybe NumCopies)
{- Changes the preferred content configuration of a remote. -}
preferredContentSet :: UUID -> PreferredContentExpression -> Annex ()
-preferredContentSet = setLog preferredContentLog
+preferredContentSet u expr = do
+ setLog preferredContentLog u expr
+ Annex.changeState $ \st -> st { Annex.preferredcontentmap = Nothing }
requiredContentSet :: UUID -> PreferredContentExpression -> Annex ()
-requiredContentSet = setLog requiredContentLog
+requiredContentSet u expr = do
+ setLog requiredContentLog u expr
+ Annex.changeState $ \st -> st { Annex.requiredcontentmap = Nothing }
setLog :: RawFilePath -> UUID -> PreferredContentExpression -> Annex ()
setLog logfile uuid@(UUID _) val = do
c <- currentVectorClock
Annex.Branch.change (Annex.Branch.RegardingUUID [uuid]) uuidLog $
buildLogOld builder . changeLog c uuid desc . parseUUIDLog
+ Annex.changeState $ \s -> s { Annex.uuiddescmap = Nothing }
where
builder (UUIDDesc b) = byteString (escnewline b)
-- Escape any newline in the description, since newlines cannot