Fix caching of decrypted ciphers, which failed when drop had to check multiple different encrypted special remotes.

This commit is contained in:
Joey Hess 2011-12-08 16:01:46 -04:00
parent 2568beee07
commit e3f1568e0f
5 changed files with 27 additions and 12 deletions

View file

@ -36,6 +36,7 @@ import Types.BranchState
import Types.TrustLevel
import Types.UUID
import qualified Utility.Matcher
import qualified Data.Map as M
-- git-annex's monad
newtype Annex a = Annex { runAnnex :: StateT AnnexState IO a }
@ -70,7 +71,7 @@ data AnnexState = AnnexState
, limit :: Either [Utility.Matcher.Token (FilePath -> Annex Bool)] (Utility.Matcher.Matcher (FilePath -> Annex Bool))
, forcetrust :: [(UUID, TrustLevel)]
, trustmap :: Maybe TrustMap
, cipher :: Maybe Cipher
, ciphers :: M.Map EncryptedCipher Cipher
}
newState :: Git.Repo -> AnnexState
@ -93,7 +94,7 @@ newState gitrepo = AnnexState
, limit = Left []
, forcetrust = []
, trustmap = Nothing
, cipher = Nothing
, ciphers = M.empty
}
{- Create and returns an Annex state object for the specified git repo. -}