summaryrefslogtreecommitdiff
path: root/Annex/Content.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-04-30 19:33:43 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-04-30 19:33:43 -0400
commit95f30f07830ddefc27a9cccb3dac97898e47e78b (patch)
tree4d184e49fc293446aa81d972a69575e7203d5476 /Annex/Content.hs
parentde6a7a7ebbba3e8f517d038cf53949ab5bb7a575 (diff)
thaw content directory in direct mode too
A content directory can be frozen in direct mode. One way this can happen is if the content is transferred before direct mode has a mapping for it, so it's stored in the content directory. So, we need to thaw the content directory before doing things with it.
Diffstat (limited to 'Annex/Content.hs')
-rw-r--r--Annex/Content.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/Annex/Content.hs b/Annex/Content.hs
index 6e040b9ac..6f2c9690e 100644
--- a/Annex/Content.hs
+++ b/Annex/Content.hs
@@ -242,6 +242,7 @@ moveAnnex key src = withObjectLoc key storeobject storedirect
storedirect' [] = storeobject =<< calcRepo (gitAnnexLocation key)
storedirect' (dest:fs) = do
+ thawContentDir =<< calcRepo (gitAnnexLocation key)
updateInodeCache key src
thawContent src
replaceFile dest $ liftIO . moveFile src
@@ -358,6 +359,7 @@ removeAnnex key = withObjectLoc key remove removedirect
removeInodeCache key
cleanObjectLoc key
removedirect fs = do
+ thawContentDir =<< calcRepo (gitAnnexLocation key)
cache <- recordedInodeCache key
removeInodeCache key
mapM_ (resetfile cache) fs