diff options
Diffstat (limited to 'Annex/Direct.hs')
-rw-r--r-- | Annex/Direct.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Annex/Direct.hs b/Annex/Direct.hs index fdc67a720..e6b941e0f 100644 --- a/Annex/Direct.hs +++ b/Annex/Direct.hs @@ -354,7 +354,11 @@ toDirectGen k f = do void $ addAssociatedFile k f modifyContent loc $ do thawContent loc - replaceFile f $ liftIO . moveFile loc + replaceFileOr f + (liftIO . moveFile loc) + $ \tmp -> do -- rollback + liftIO (moveFile tmp loc) + freezeContent loc fromdirect loc = do replaceFile f $ liftIO . void . copyFileExternal loc |