diff options
-rw-r--r-- | Annex/Branch.hs | 21 | ||||
-rw-r--r-- | Annex/BranchState.hs | 18 | ||||
-rw-r--r-- | Annex/Journal.hs | 2 |
3 files changed, 9 insertions, 32 deletions
diff --git a/Annex/Branch.hs b/Annex/Branch.hs index 3b056eed5..243514fc9 100644 --- a/Annex/Branch.hs +++ b/Annex/Branch.hs @@ -147,7 +147,6 @@ updateTo pairs = do then updateIndex branchref else commitBranch branchref merge_desc (nub $ fullname:refs) - invalidateCache liftIO cleanjournal {- Gets the content of a file, which may be in the journal, or committed @@ -168,20 +167,16 @@ getStale :: FilePath -> Annex String getStale = get' True get' :: Bool -> FilePath -> Annex String -get' staleok file = fromcache =<< getCache file +get' staleok file = fromjournal =<< getJournalFile file where - fromcache (Just content) = return content - fromcache Nothing = fromjournal =<< getJournalFile file - fromjournal (Just content) = cache content + fromjournal (Just content) = return content fromjournal Nothing | staleok = withIndex frombranch | otherwise = do update - withIndex $ frombranch >>= cache - frombranch = L.unpack <$> catFile fullname file - cache content = do - setCache file content - return content + frombranch + frombranch = withIndex $ + L.unpack <$> catFile fullname file {- Applies a function to modifiy the content of a file. - @@ -191,11 +186,9 @@ get' staleok file = fromcache =<< getCache file change :: FilePath -> (String -> String) -> Annex () change file a = lockJournal $ a <$> getStale file >>= set file -{- Records new content of a file into the journal and cache. -} +{- Records new content of a file into the journal -} set :: FilePath -> String -> Annex () -set file content = do - setJournalFile file content - setCache file content +set file content = setJournalFile file content {- Stages the journal, and commits staged changes to the branch. -} commit :: String -> Annex () diff --git a/Annex/BranchState.hs b/Annex/BranchState.hs index 2e60d1229..9b2f9a04c 100644 --- a/Annex/BranchState.hs +++ b/Annex/BranchState.hs @@ -1,6 +1,6 @@ {- git-annex branch state management - - - Runtime state about the git-annex branch, including a small read cache. + - Runtime state about the git-annex branch. - - Copyright 2011-2012 Joey Hess <joey@kitenet.net> - @@ -22,22 +22,6 @@ setState state = Annex.changeState $ \s -> s { Annex.branchstate = state } changeState :: (BranchState -> BranchState) -> Annex () changeState changer = setState =<< changer <$> getState -setCache :: FilePath -> String -> Annex () -setCache file content = changeState $ \s -> s - { cachedFile = Just file, cachedContent = content} - -getCache :: FilePath -> Annex (Maybe String) -getCache file = from <$> getState - where - from state - | cachedFile state == Just file = - Just $ cachedContent state - | otherwise = Nothing - -invalidateCache :: Annex () -invalidateCache = changeState $ \s -> s - { cachedFile = Nothing, cachedContent = "" } - {- Runs an action to check that the index file exists, if it's not been - checked before in this run of git-annex. -} checkIndexOnce :: Annex () -> Annex () diff --git a/Annex/Journal.hs b/Annex/Journal.hs index 4a56ce3e3..b6ed79272 100644 --- a/Annex/Journal.hs +++ b/Annex/Journal.hs @@ -1,4 +1,4 @@ -{- management of the git-annex journal and cache +{- management of the git-annex journal - - The journal is used to queue up changes before they are committed to the - git-annex branch. Amoung other things, it ensures that if git-annex is |