From 1018c549a7e0c7442239533d0c62c83a0978f7d6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 19 Mar 2014 21:08:46 -0400 Subject: add: display exception when lockdown fails (for RichiH) --- Command/Add.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'Command') diff --git a/Command/Add.hs b/Command/Add.hs index 3361a430a..0c8e2a48d 100644 --- a/Command/Add.hs +++ b/Command/Add.hs @@ -93,12 +93,15 @@ start file = ifAnnexed file addpresent add - Lockdown can fail if a file gets deleted, and Nothing will be returned. -} lockDown :: FilePath -> Annex (Maybe KeySource) -lockDown file = ifM crippledFileSystem - ( liftIO $ catchMaybeIO nohardlink - , do +lockDown = either (\e -> showErr e >> return Nothing) (return . Just) <=< lockDown' + +lockDown' :: FilePath -> Annex (Either IOException KeySource) +lockDown' file = ifM crippledFileSystem + ( liftIO $ tryIO nohardlink + , tryAnnexIO $ do tmp <- fromRepo gitAnnexTmpMiscDir createAnnexDirectory tmp - eitherToMaybe <$> tryAnnexIO (go tmp) + go tmp ) where {- In indirect mode, the write bit is removed from the file as part -- cgit v1.2.3