summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2010-10-14 15:58:53 -0400
committerGravatar Joey Hess <joey@kitenet.net>2010-10-14 15:58:53 -0400
commitd4ce0724527fa0155f737b5d3e94e190c27d29dc (patch)
tree6bf4eee49bde40ddf59a48ff117deae2fee45809
parent859731ee5b09072d112296a073cb152007d7785a (diff)
break depends cycle
-rw-r--r--Backend.hs13
-rw-r--r--Backend/File.hs1
-rw-r--r--Core.hs2
3 files changed, 13 insertions, 3 deletions
diff --git a/Backend.hs b/Backend.hs
index 7a8a41a4b..01c7c6823 100644
--- a/Backend.hs
+++ b/Backend.hs
@@ -33,6 +33,19 @@ import qualified Annex
import Utility
import Types
import qualified BackendTypes as B
+import BackendList
+
+{- List of backends in the order to try them when storing a new key. -}
+backendList :: Annex [Backend]
+backendList = do
+ l <- Annex.backends
+ if (0 < length l)
+ then return l
+ else do
+ g <- Annex.gitRepo
+ let l = parseBackendList $ Git.configGet g "annex.backends" ""
+ Annex.backendsChange l
+ return l
{- Attempts to store a file in one of the backends. -}
storeFileKey :: FilePath -> Annex (Maybe (Key, Backend))
diff --git a/Backend/File.hs b/Backend/File.hs
index 893850a69..92f5932ce 100644
--- a/Backend/File.hs
+++ b/Backend/File.hs
@@ -14,7 +14,6 @@ import Locations
import qualified Remotes
import qualified GitRepo as Git
import Utility
-import Core
backend = Backend {
name = "file",
diff --git a/Core.hs b/Core.hs
index 1eb9da687..431c9c9e6 100644
--- a/Core.hs
+++ b/Core.hs
@@ -27,8 +27,6 @@ start = do
g' <- liftIO $ Git.configRead g
Annex.gitRepoChange g'
liftIO $ gitSetup g'
- Annex.backendsChange $ parseBackendList $
- Git.configGet g' "annex.backends" ""
prepUUID
{- Sets up a git repo for git-annex. May be called repeatedly. -}