uninit: Fix crash due to trying to write to deleted keys db.

Reversion introduced by v6 mode support, affects v5 too.

Also fix a similar crash when the webapp is used to delete a repository.
This commit is contained in:
Joey Hess 2016-07-12 14:18:35 -04:00
parent db6b307ef7
commit 0c713a94bd
Failed to extract signature
6 changed files with 42 additions and 14 deletions

View file

@ -17,17 +17,15 @@ import Assistant.Sync
import qualified Remote
import qualified Git
import Config.Files
import Utility.FileMode
import Logs.Trust
import Logs.Remote
import Logs.PreferredContent
import Types.StandardGroups
import Annex.UUID
import Command.Uninit (prepareRemoveAnnexDir)
import System.IO.HVFS (SystemFS(..))
import qualified Data.Text as T
import qualified Data.Map as M
import System.Path
notCurrentRepo :: UUID -> Handler Html -> Handler Html
notCurrentRepo uuid a = do
@ -99,12 +97,8 @@ deleteCurrentRepository = dangerPage $ do
rs <- syncRemotes <$> getDaemonStatus
mapM_ (\r -> changeSyncable (Just r) False) rs
{- Make all directories writable and files writable
- so all annexed content can be deleted. -}
liftIO $ do
recurseDir SystemFS dir
>>= mapM_ (void . tryIO . allowWrite)
removeDirectoryRecursive =<< absPath dir
liftAnnex $ prepareRemoveAnnexDir dir
liftIO $ removeDirectoryRecursive =<< absPath dir
redirect ShutdownConfirmedR
_ -> $(widgetFile "configurators/delete/currentrepository")