summaryrefslogtreecommitdiff
path: root/Backend
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2010-12-31 19:09:17 -0400
committerGravatar Joey Hess <joey@kitenet.net>2010-12-31 19:09:17 -0400
commit700aed13cff27f9315df1209e0cd37d5e51f5390 (patch)
tree4b28a2499293b1aea9cac2ac661a6bc68c319478 /Backend
parent30e0065ab97843f866a7fe095b8a18ee6eb4c321 (diff)
git-annex-shell now exclusively used for all remote access
Diffstat (limited to 'Backend')
-rw-r--r--Backend/File.hs13
1 files changed, 7 insertions, 6 deletions
diff --git a/Backend/File.hs b/Backend/File.hs
index ee7315021..9bc5a2aa6 100644
--- a/Backend/File.hs
+++ b/Backend/File.hs
@@ -65,12 +65,7 @@ copyKeyFile key file = do
trycopy full (r:rs) = do
probablythere <- probablyPresent r
if probablythere
- then do
- showNote $ "copying from " ++ Git.repoDescribe r ++ "..."
- copied <- Remotes.copyFromRemote r key file
- if copied
- then return True
- else trycopy full rs
+ then docopy r (trycopy full rs)
else trycopy full rs
-- This check is to avoid an ugly message if a remote is a
-- drive that is not mounted. Avoid checking inAnnex for ssh
@@ -82,6 +77,12 @@ copyKeyFile key file = do
if not $ Git.repoIsUrl r
then liftIO $ doesFileExist $ annexLocation r key
else return True
+ docopy r continue = do
+ showNote $ "copying from " ++ Git.repoDescribe r ++ "..."
+ copied <- Remotes.copyFromRemote r key file
+ if copied
+ then return True
+ else continue
{- Checks remotes to verify that enough copies of a key exist to allow
- for a key to be safely removed (with no data loss), and fails with an