aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-06-24 12:09:04 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-06-24 12:09:04 -0400
commitd7018500fac3f496489888e2f5fd124c66c0b746 (patch)
treea60528aaa6e4f7b663ca12c726c8ce68b9c4750d
parentad38c0dfadc0fc68ed6213c75541fe06c7caca2f (diff)
fix upgrade when .git-annex has already been entirely converted
-rw-r--r--Upgrade/V2.hs14
1 files changed, 8 insertions, 6 deletions
diff --git a/Upgrade/V2.hs b/Upgrade/V2.hs
index 8eab236ff..8537a5022 100644
--- a/Upgrade/V2.hs
+++ b/Upgrade/V2.hs
@@ -9,7 +9,7 @@ module Upgrade.V2 where
import System.Directory
import System.FilePath
-import Control.Monad.State (unless, liftIO)
+import Control.Monad.State (unless, when, liftIO)
import List
import Data.Maybe
@@ -50,11 +50,13 @@ upgrade = do
let bare = Git.repoIsLocalBare g
Branch.create
- mapM_ (\(k, f) -> inject f $ logFile k) =<< locationLogs g
- mapM_ (\f -> inject f f) =<< logFiles (olddir g)
- liftIO $ do
- Git.run g "rm" [Param "-r", Param "-f", Param "-q", File (olddir g)]
- unless bare $ gitAttributesUnWrite g
+ e <- liftIO $ doesDirectoryExist (olddir g)
+ when e $ do
+ mapM_ (\(k, f) -> inject f $ logFile k) =<< locationLogs g
+ mapM_ (\f -> inject f f) =<< logFiles (olddir g)
+ liftIO $ do
+ Git.run g "rm" [Param "-r", Param "-f", Param "-q", File (olddir g)]
+ unless bare $ gitAttributesUnWrite g
saveState
unless bare $ push