else commitIndex jl branchref merge_desc commitrefs
)
addMergedRefs tomerge
- invalidateCache
+ invalidateCacheAll
stagejournalwhen dirty jl a
| dirty = stageJournal jl a
-- evaluating a Journalable Builder twice, which is not very
-- efficient. Instead, assume that it's not common to need to read
-- a log file immediately after writing it.
- invalidateCache
+ invalidateCache f
{- Appends content to the journal file. -}
append :: Journalable content => JournalLocked -> RawFilePath -> AppendableJournalFile -> content -> Annex ()
journalChanged
appendJournalFile jl appendable toappend
fastDebug "Annex.Branch" ("append " ++ fromRawFilePath f)
- invalidateCache
+ invalidateCache f
{- Commit message used when making a commit of whatever data has changed
- to the git-annex branch. -}
| f == file && not (needInteractiveAccess state) = Just c
| otherwise = go rest
-invalidateCache :: Annex ()
-invalidateCache = changeState $ \s -> s { cachedFileContents = [] }
+invalidateCache :: RawFilePath -> Annex ()
+invalidateCache f = changeState $ \s -> s
+ { cachedFileContents = filter (\(f', _) -> f' /= f)
+ (cachedFileContents s)
+ }
+
+invalidateCacheAll :: Annex ()
+invalidateCacheAll = changeState $ \s -> s { cachedFileContents = [] }