summaryrefslogtreecommitdiff
path: root/Annex/Direct.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-05-17 15:59:37 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-05-17 15:59:37 -0400
commit4e74c0d7f33a66eb524ef020ef4401fa322db34c (patch)
treed0a239d6022339b3cb5afeced2d3f859aa4d02d3 /Annex/Direct.hs
parent963f2c5726ce0fe899038733d4318a234d355268 (diff)
test suite passes in direct mode
This fixes a bug with git annex add in direct mode. If some files already existed in the tree pointing at the same key as a file that was just added, and their content was not present, add neglected to copy the content to those files. I also changed the behavior of moveAnnex slightly: When content is moved into the annex in direct mode, it does not overwrite any content already present in direct mode files. That content may be modified after all.
Diffstat (limited to 'Annex/Direct.hs')
-rw-r--r--Annex/Direct.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/Annex/Direct.hs b/Annex/Direct.hs
index 67822f2d5..02fdb2430 100644
--- a/Annex/Direct.hs
+++ b/Annex/Direct.hs
@@ -26,6 +26,7 @@ import Annex.Link
import Utility.InodeCache
import Utility.CopyFile
import Annex.Perms
+import Annex.ReplaceFile
{- Uses git ls-files to find files that need to be committed, and stages
- them into the index. Returns True if some changes were staged. -}
@@ -191,7 +192,7 @@ toDirectGen k f = do
{- Move content from annex to direct file. -}
thawContentDir loc
updateInodeCache k loc
- addAssociatedFile k f
+ void $ addAssociatedFile k f
thawContent loc
replaceFile f $ liftIO . moveFile loc
fromdirect = do