summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-05-20 17:11:02 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-05-20 17:11:40 -0400
commit5ac043c2fc4bf48029beb3af306499eeec3102dc (patch)
tree581692594ebe7978b210058672b267f841517f73
parentc79c06e6c243b787afed7817ce1967015eacaf8a (diff)
update inode cache after copying content
This was also tripped by the test suite's automatic conflict resolution test. Which also shows BTW that an unnecessary copy of content is done sometimes when merging in direct mode. Not going to try to speed that up now.
-rw-r--r--Annex/Direct.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/Annex/Direct.hs b/Annex/Direct.hs
index 962c7595c..dc09742bc 100644
--- a/Annex/Direct.hs
+++ b/Annex/Direct.hs
@@ -198,9 +198,10 @@ toDirectGen k f = do
locs <- filterM (\loc -> isNothing <$> getAnnexLinkTarget loc) =<<
(filter (/= absf) <$> addAssociatedFile k f)
case locs of
- (loc:_) -> return $ Just $
+ (loc:_) -> return $ Just $ do
replaceFile f $
liftIO . void . copyFileExternal loc
+ updateInodeCache k f
_ -> return Nothing
{- Removes a direct mode file, while retaining its content in the annex