aboutsummaryrefslogtreecommitdiff
path: root/Backend.hs
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 /Backend.hs
parent859731ee5b09072d112296a073cb152007d7785a (diff)
break depends cycle
Diffstat (limited to 'Backend.hs')
-rw-r--r--Backend.hs13
1 files changed, 13 insertions, 0 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))