diff options
author | Joey Hess <joey@kitenet.net> | 2013-05-22 20:58:27 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-05-25 15:06:02 -0400 |
commit | 65962bdc503a084bf17a488e1a5e03c41fb29b2a (patch) | |
tree | 67c9cab2ad06fdb81667109a3574f77359a14fdf /Annex/Content.hs | |
parent | 01a004f8b0fe47007d4dd04673bddebfdf22a72c (diff) |
improve robustness of fromDirect and replaceFile
Made fromDirect check that a file in the tree has good content (and is not
a broken symlink either) before copying it to another file that has the
same key.
Made replaceFile clean up the temp file if the action that creates it, or
the file replacement action fails.
Diffstat (limited to 'Annex/Content.hs')
-rw-r--r-- | Annex/Content.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Annex/Content.hs b/Annex/Content.hs index 3e6d621b6..62c52cf88 100644 --- a/Annex/Content.hs +++ b/Annex/Content.hs @@ -115,7 +115,7 @@ lockContent key a = do a #else file <- calcRepo $ gitAnnexLocation key - bracketIO (openforlock file >>= lock) unlock a + bracketIO (openforlock file >>= lock) unlock (const a) where {- Since files are stored with the write bit disabled, have - to fiddle with permissions to open for an exclusive lock. -} |